💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
- 持续学习,不断总结,共同进步,活到老学到老
- 人生的本质是追寻自我的提升,包括思想、能力、意志等等。
- 直面变化,找到背后更基础的东西,更基础的东西是用户的需求。
- 我们的成功是我们的现在和将来决定的。今天和明天已经由昨天决定,你还可以决定后天。
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
博客目录
9.复制心跳检测
命令传播阶段,从服务器默认以每秒一次频率
向服务器发送命令:
REPLCONF ACK <replication_offset>
replication_offset
:从服务器当前的复制偏移量
三个作用:
- 检测主从服务器的网络连接状态
- 辅助实现 min-slaves 选项
- 检测命令丢失
检测主从服务器的网络连接状态
通过接受命令来检查网络连接是否正常,如果没有收到则连接出现问题
辅助实现 min-slaves 配置选项
min-slaves-to-write
和 min-slaves-max-lag
可以防止主服务器在不安全的情况下执行写命令
min-slaves-to-write 3
min-slaves-max-lag 10
那么在从服务器
的数量少于 3 个,或者三个从服务器的延迟(lag)
值都大于或等于 10 秒
时,主服务器将拒绝执行写命令,这里的延迟值就是上面提到的 INFO replication 命令的 lag 值。
解决方式:只有一个从库且要去维护的时候,请先设置 最少写从库的个数为0,再去维护从库
这样解决治标不治本,还是需要解决从库挂掉的原因
config set min-slaves-to-write 0
检测命令丢失
根据两个 REPLCONF ACK 命令可以得出从服务器的写命令是否在半路丢失,从复制偏移量的比较得出
觉得有用的话点个赞
👍🏻
呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙