Redis主从复制原理图解 深入解析Redis主从复制机制(2)
Redis主从复制原理图解
同时主服务器还会将命令写入到命令缓存区里。当从服务器重连是发生如下步骤:

每个Redis都有自己的唯一标识Id。在启动时自动生成,由40个随机的十六进制字符组成。
当发送第一次主从同步时,master会将自己的id发送会从服务器,从服务器会将其保存起来。
断线重连时,从服务器请求同步时还会将这个id发送给主服务器,主服务器判断该id与自己的id是否一致,如果一致则继续执行部分同步的剩余步骤。否则执行完整同步。
2.4 心跳检测
主从服务器建立连接后,默认每隔1秒,从服务器会想主服务器发送REPLCONF_ACK <offset>报告自己的状态。
主服务器可以从这个命令中检测出几个问题:
1、主从之间的网络连接状态
如果主服务器在规则时间内没有收到从服务器的心跳命令,就可以认为主从之间出现了问题。这个时候如果配置了
min-slaves-to-write 3
min-slaves-max-lag 10
//如果从服务器数小于3或者3个服务器的心跳检测延迟值都大于等于10秒,主服务器将拒绝写命令
2、检测新的写命令是否丢失
每次主服务器收到从服务器心跳命令里的offset时,都会与自己的offset进行比较,如果小于自己的。
那么可以知道某次传递的「写命令在网络上丢失或者从服务器加载失败」,这个时候主服务器会主动将这部分缺少的命令发送给从服务器(需要缺失命令还在缓存区,如果不在猜测应该是发起一次完整同步,未验证过)。
3、辅助实现min-slaves
2.5 备注
主从服务器建立套接字连接后,从服务器首先会发起Ping命令检测套接字的读写是否正常。
收到主服务器的Pong命令后证明正常。
然后在判断主服务器是否需要身份认证,发起密码。
然后进行复制流程。
上述的关于Redis主从复制原理图解的具体介绍,供网友们借鉴参考。
相关阅读
-
MySQL 8.3有哪些新增和删减?
一篇关于MySQL的电脑小知识,下面为详细的介绍。 MySQL 8.3 主要更新:用于标记事务分组的 GTID、JSON EXPLAIN 格式增强、一些功能删除等。 MySQL是一款广泛使用的开源的关系型数据库管理系统,已
-
如何设计安全的API调用 设计安全API调用的最佳实践
小编带来的是如何设计安全的API调用方面的介绍,很不错的方法小知识,建议收藏哦! 如何为网站设计安全的API访问? 我们在设计一个网站或平台的时候,经常需要向用户开放API访问。 这样
-
如何设计安全可靠的API
如果想知道如何设计安全可靠的API方面的介绍,一起来看看吧! 如何设计安全可靠的API,下图列出了12条原则。 1、使用HTTPS 数据加密:HTTPS 对客户端和服务器之间传输的数据进行加密。它使用
-
如何启用OSPF TTL安全检查 启用OSPF TTL安全机制步骤
您可能不了解如何启用OSPF及TTL安全检查的电脑小知识,接下来IT袋网小编为大家介绍。 为了抵御TTL攻击,OSPF TTL 安全检查机制应运而生。 启用此功能后,OSPF将仅接受TTL为255的数据包,拒绝任


