redis-主从同步

Redis-主从同步

CAP

在分布式环境下(网络分区),一致性和可用性是互斥的. 一致性和可用性是互斥的

主从同步(从从同步)

增量同步

同步是指维护一个指令流,主节点自己维护一个buffer来维护修改状态的指令.
有点像mysql redolog一样的小黑板,顺序循环写,像个环.如果写满了,会覆盖缓冲区中最老的数据

快照同步

如果buffer写满开始覆盖,那么主从不能依赖增量了,因此此时内存中的数据 > buffer中的,buffer中的就不全了,需要做快照.
快照:主库上执行bgsave将当前内存数据全部快照到磁盘中,然后将快照文件发送给从节点,从节点收到立刻全量加载,

从节点执行快照的过程中,主节点中buffer的指令集还在新增,因此从节点快照完毕后需要,增量buffer中的指令数据集合.
buffer如果写满了,那么会从buffer的头开始覆盖.因此快照+增量的时候,要合理配置buffer大小,防止循环出现快照+增量+快照+增量的死循环

无盘复制

redis 2.8.18 之后支持无盘复制
无盘复制:主服务器直接通过套接字将快照内容发送到从节点,生成快照是个遍历的过程,主节点边遍历内存,
边将序列化内推发送到从节点,从节点还是跟之前一样,先将接受的内容存储到磁盘中,再一次性加载.

注意

redis新版本支持从从同步,只要是缓解主节点的压力

你可能感兴趣的:(redis-主从同步)