Redis提供了哨兵(Sentinel)机制来实现主从集群的自动故障恢复。 主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。
通常而言,哨兵需要部署至少3个节点,保证哨兵集群的高可用。 其作用可概述为:
Sentinel基于心跳机制监测服务状态,每隔1秒向集群的每个实例发送ping命令:
当sentinel认为实例客观下线时,就需要重新选举master节点。
一旦发现master故障,sentinel需要在slave中选择一个作为新的master,选择依据如下:
例如选中了slave1为新的master后,故障的转移的步骤如下:
如图所示,master从中间的节点变为了最左的节点,原本的master重启后变成了slave
Sentinel的作用:
Sentinel如何判断一个redis实例是否健康?
故障转移步骤有哪些?