手机网站制作教程,室内设计好学吗,e建网官网,专业制作网站公司为什么要搭建主从集群#xff1f;
单节点Redis的并发能力是有上限的#xff0c;要进一步提高Redis的并发能力#xff0c;可以搭建主从集群#xff0c;实现读写分离。一般都是一主多从#xff0c;主节点负责写数据#xff0c;从节点负责读数据#xff0c;主节点写入数据…为什么要搭建主从集群
单节点Redis的并发能力是有上限的要进一步提高Redis的并发能力可以搭建主从集群实现读写分离。一般都是一主多从主节点负责写数据从节点负责读数据主节点写入数据之后需要把数据同步到从节点中。
主从复制原理是什么
主从复制共有三种模式全量复制、基于长连接的命令传播、增量复制。
全量同步
从节点向主节点请求数据主节点判断是第一次请求这里是通过replid判断不一致同步版本信息可以理解为从节点要继承主节点的replid使其一致同时执行bgsave生成rdb发送给从节点在rdb生成期间由于是异步的主节点redis仍然会正常处理业务为了避免新增加的数据没有同步给从节点主节点将收到的写操作命令写入到 replication buffer 缓冲区里在从节点解析执行完rdb文件之后它告诉一下主节点我执行完了主节点就把这个缓冲文件发给他保证数据的一致性。 PS replication buffer 缓冲区目的主要就是给从节点发送要同步的数据。
基于长连接的命令传播
主从服务器在完成全量同步之后双方之间就会维护一个 TCP 长连接通过连接继续将写操作命令传播给从服务器来保证第一次同步后的主从服务器的数据一致性。
增量复制
由于网络总是爱发脾气说断开就断开由于全量同步耗时间增量同步的出现解决了这个问题。当网络恢复后主节点会判断这不是第一次请求告诉从节点我想增量同步你做好准备然后主节点将断线期间所有的更新数据都发送给从节点。他的实现逻辑是靠一个一个环形的缓冲区repl_backlog_size 主节点进行传播指令给从节点的时候也会指令写在这个缓冲区所以这个缓冲区里会保存着最近传播的写命令通过主的写偏移量和从的读偏移量来获取断线期间的要同步的数据当然如果从服务器判断要读的数据在这个环形缓冲区没有就会开启全量同步同时由于这个缓冲区是环形也会造成数据的覆盖所以我们要合理的设置该大小尽量避免全量复制。