回答
当 Redis 主节点被标注客观下线后,Sentinel 会选举出一个 Leader 来完成故障转移。主要分为如下几个步骤。
一、选择新的主节点
在执行故障转移过程中,首先需要从从节点中选择出来一个合适的节点当做主节点。选择的标准可以参考下面这篇文章。
二、晋升主节点
当选出最合适的从节点后,Sentinel 会向该节点发送SLAVEOF NO ONE
命令来让它晋升为新的主节点。
三、配置更新
当从节点晋升为主节点后,Sentinel 会更新其它从节点的配置,让它们开始复制新的主节点,命令为:SLAVEOF <new-master-ip> <new-master-port>
。