面试题答案
一键面试在Redis Sentinel选举领头Sentinel过程中,每个Sentinel节点参与投票需满足以下条件:
- 主观下线判断:该Sentinel节点已经判定主节点处于主观下线状态。即通过定期发送PING命令给主节点,若在一定时间内(由配置的
down-after-milliseconds
决定)未收到有效回复,就认为主节点主观下线。 - 故障发现传播:该Sentinel节点已经将主节点主观下线的信息,通过Gossip协议传播给了其他足够数量的Sentinel节点。具体来说,当一个Sentinel节点发现主节点主观下线后,会向其他Sentinel节点发送
SENTINEL is-master-down-by-addr
命令,告知其他节点主节点的主观下线情况。只有在传播范围达到一定程度后,该Sentinel节点才可能参与投票。