心跳检测
概述
在命令传播阶段,从服务器默认会以每秒一次的频率,向主服务器发送命令:
REPLCONF ACK < replication_offset >
其中replication_offset是从服务器当前的复制偏移量。
发送REPLCONF ACK命令对于主从服务器有三个作用:
- 1.检测主从服务器的网络连接状态
- 2.辅助实现min-slaves选项
- 3.检测命令丢失
检测主从服务器的网络连接状态。
主从服务器可以通过发送和接收REPLCONF ACK命令来检查两者之间的
网络连接是否正常:如果主服务器超过一秒钟没有收到从服务器发来的REPLCONF ACK命令,那么主服务器旧知道主从服务器之间的连接出现问题了。通过向主服务器发送INFO replication命令,在列出的从服务器列表的lag一栏中可以看到相应从服务器最后一次向主服务器发送REPLCONFACK 命令距离现在过了多少秒:
127.0.0.1:6379> INFO replication