摘要:
一、文件系统基础概念 文件系统的基本组成结构是inode和data以及superblock。 inode:代表了文件的元信息,包括:inode号、文件大小、权限、所属用户和组等信息。 data:是数据部分,存储了实际的文件数据,data的基本存储单位是块(block),不同文件系统下块的大小各不相同 阅读全文
摘要:
前言:HA中最复杂的,也是最难处理的就是集群脑裂问题,如果处理不好会导致数据丢失、数据不一致等一系列问题。HA解决方案中大多数都是基于VIP也就是虚拟IP的方式,虚拟IP的实现又依赖于ARP协议,让我们先来看下一些基础知识。 一、ARP请求过程: 1:发送ARP请求 2层网络中需要通过IP地址访问另 阅读全文
摘要:
1. 使用cgroup(控制组)限制进程占用内存方法 1:创建cgroup目录: 首先,需要在/sys/fs/cgroup/memory目录下创建一个子目录 sudo mkdir /sys/fs/cgroup/memory/myapp // sudo mkdir /sys/fs/cgroup/cpu 阅读全文
摘要:
字节偏移锁:file结构体是内核对于打开文件的结构体表示,可以在其上对指定的偏移量进行加锁,只锁定需要读写的部分,主要为了避免加锁整个文件。 文件加锁:直接对inode结构体进行加锁,因为inode结构体代表了一个文件,从而实现对文件的加锁。 page加锁:page是文件系统在内存中的表示结构,in 阅读全文
摘要:
docker可以在执行run命令创建容器的时候用-v参数将宿主机的某个目录挂载到docker容器中指定的目录,从而实现docker容器内目录和宿主机上对应目录之间的映射。 其实现的本质原理其实很简单,就是挂载后修改了原docker容器内路径的dentry对应的inode指向,改成了宿主机对应路径对应 阅读全文
摘要:
1. Yum Yum 是 Red Hat 软件包管理器,它能够查询有关可用软件包的信息,从存储库获取软件包,安装和卸载软件包,以及将整个系统更新到最新的可用版本。Yum在更新,安装或删除软件包时执行自动依赖性解析,因此能够自动确定,获取和安装所有可用的依赖软件包。 Yum可以配置新的,额外的存储库或 阅读全文
摘要:
●目录操作命令(6 个) ls tree pwd mkdir rmdir cd ●文件操作命令(7 个) touch cp mv rm ln find rename ●文件查看及处理命令(21 个) cat more less head tac head tail cut paste sort un 阅读全文
摘要:
一、概述 主要功能:应用解耦,异步消息,流量削锋等问题架构设计:实现高性能,高可用,可伸缩和最终一致性架构常用消息队列:ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ使用场景:1)RabbitMQ:对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐 阅读全文
摘要:
本文大纲: 缓存概述 CDN缓存 反向代理缓存 分布式缓存 本地缓存 缓存架构示例 缓存常见问题 一、缓存概述 缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。 1、缓存的原理 将数据写入/读取速度更快的存储(设备); 将数据缓存到离应用 阅读全文
摘要:
其实计算机里面的很多概念都是来源于现实世界的,通过现实里面具体的例子来理解RPC。A:代表一栋大楼(相当于一个大的服务端内网集群),B:代表大楼内的一个个房间(每个房间相当于一个应用框架),C:代表人员管理机构(相当于楼管处或者各级人口管理部门)。首先,在项目架构比较简单的时候,可能一个项目就一个统 阅读全文