redis复制心跳检测

本文介绍了Redis中复制心跳检测的功能,包括检测网络连接、防止不安全写操作和检测命令丢失。重点讲解了min-slaves配置在维护和保障数据一致性中的作用。
摘要由CSDN通过智能技术生成

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 持续学习,不断总结,共同进步,活到老学到老
  • 人生的本质是追寻自我的提升,包括思想、能力、意志等等。
  • 直面变化,找到背后更基础的东西,更基础的东西是用户的需求。
  • 我们的成功是我们的现在和将来决定的。今天和明天已经由昨天决定,你还可以决定后天。

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

9.复制心跳检测

命令传播阶段,从服务器默认以每秒一次频率向服务器发送命令:

REPLCONF ACK <replication_offset>

replication_offset:从服务器当前的复制偏移量

三个作用:

  • 检测主从服务器的网络连接状态
  • 辅助实现 min-slaves 选项
  • 检测命令丢失

检测主从服务器的网络连接状态
通过接受命令来检查网络连接是否正常,如果没有收到则连接出现问题

辅助实现 min-slaves 配置选项
min-slaves-to-writemin-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 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值