redis哨兵模式下,使用debug reload重启master,会导致主观下线,最后触发选举吗?

redis哨兵模式下,使用“debug reload”重启master,会导致主观下线,最后触发选举吗?
虽然debug reload不会改变runid和processId,但是会不会对哨兵的心跳监听产生影响呢?
如果触发了重新选举,然后又导致从节点全量复制,那影响面岂不是很大?

阅读 1.8k
1 个回答

在Redis哨兵模式里,用debug reload命令重启master节点会影响这个节点短暂的不可用,这可能会影响哨兵检测到master节点的主观下线。主观下线是指哨兵认为master节点不可达。假设在一定时间内(默认是10秒),超过半数的哨兵都检测到master节点主观下线,那就会被判定成客观下线。客观下线是指集群里的大多数哨兵都认为master节点不可达。一旦master节点被判定为客观下线,哨兵就会开始选举新的master节点。这个过程可能会影响从节点进行全量复制,如果数据量大的话,确实可能会对系统性能产生较大影响。debug reload命令的执行时间通常非常短,可能不会影响哨兵检测到主观下线,也就不会触发选举过程。但这要看你的哨兵配置和网络情况。

想要系统对性能和可用性稳定的话,最好不要在生产环境里用debug reload命令。如果你想要重启Redis,可以用逐步迁移负载,或者在低峰期去操作。
企业微信截图_16892301225980.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏