写点什么

Redis 命令传播的心跳检测

作者:周杰伦本人
  • 2022 年 9 月 17 日
    韩国
  • 本文字数:598 字

    阅读完需:约 2 分钟

Redis 命令传播的心跳检测

命令传播阶段,从服务器默认会以每秒一次的频率向主服务器发送命令,命令为 REPLCONF ACK 复制偏移量,它可以用来检测主从服务器的网络连接状态,辅助实现 min-slaves 选项,检测命令丢失

检测主从服务器的网络连接状态

主从服务器可以通过发送和接收 REPLCONF ACK 命令来检查网络连接是否正常,超过一秒没有收到从服务器发来的 REPLCONF ACK 命令,说明连接出了问题

实现 min-slaves 配置选项

Redis 的 min-slaves-to-write 和 min-slaves-max-lag 用来防止主服务器在不安全的情况下执行写命令,也就是从服务器的数量少于 min-slaves-to-write 配置的个数或者从服务器的延迟值大于 min-slaves-max-lag 配置的秒数,主服务器将拒绝执行写命令。

检测命令丢失

主服务器传播给从服务器的写命令在半路丢失,那么当从服务器向主服务器发送 REPLCONF ACK 命令时,主服务器发现从服务器当前的复制偏移量比自己的复制偏移量少,主服务器就会根据从服务器的复制偏移量,在复制积压缓冲区里面找到从服务器缺少的数据,将这些数据重新发送给从服务器


这就是 Redis 命令传播的心跳检测的三个作用,今天我们简单介绍了一下,心跳检测对 redis 复制还是至关重要的。总结一下就是心跳检测可以用来检测主从服务器的网络连接状态,辅助实现 min-slaves 选项和检测命令丢失。接下来的文章中我们会对 redis 的哨兵机制进行详细的分析,我们一起学习 redis,一起掌握好它利用好它,更好的运用在工作和学习中,加油吧💪🏻

发布于: 刚刚阅读数: 5
用户头像

还未添加个人签名 2020.02.29 加入

公众号《盼盼小课堂》,多平台优质博主

评论

发布
暂无评论
Redis命令传播的心跳检测_9月月更_周杰伦本人_InfoQ写作社区