Redis学习_11_主从复制_心跳机制与命令传播
心跳机制
概念:进入命令传播阶段后,master与slave与要进行信息交换,使用心跳机制来进行维护,实现双方保持在线。
-
master心跳: 指令:PING 周期:通过repl-ping-slave-period配置,默认时10秒。 作用:判断slave是否在线 查询:可以通过info replication查看,获取slave最后一次的连接间隔,lag是0或者1是正常的,超过1就可能是超时了。 slave心跳: 指令:replconf ack [offset] 周期:1秒 作用1:告诉master自己的复制偏移量,获取最新的数据变更指令 作用2:判断master是否在线
心跳阶段注意事项
-
当slave多数掉线或者延迟较高时,master为了保障数据的稳定性,将拒绝所有信息同步操作。 slave数量小于2个时,master停止写操作,停止数据同步:min-slaves-to-write 2 slave延迟都大于8秒时,master停止写操作,停止数据同步:min-slaves-max-lag 8 slave数量由slave发送replconf ack命令做确认 slave延迟由slave发送replconf ack命令做确认
命令传播流程
下一篇:
删除feature的几种方法,性能