1. 我的理解:
redis集群是多个主从集群组成的集群,所以redis的选举过程和哨兵的选举过程基本差不多,所以没什么怎样单独讲redis 的选举过程
2. redis集群发现master宕机的步骤:
步骤一:故障节点主观下线
sentinal集群的每个sentinal会定时向redis所有节点发送心跳包检测节点是否正常 如果一个节点在down-after-milliseconds时间内没回复心跳包 该节点被sentinal主管下线
步骤二:故障节点客观下线
问:sentinel节点是葱节点吗? 当节点被一个Sentinel节点记为主观下线时,并不意味着该节点肯定故障了,还需要Sentinel集群的其他Sentinel节点共同判断为主观下线才行。 该Sentinel节点会询问其他Sentinel节点,如果Sentinel集群中超过quorum数量的Sentinel节点认为该redis节点主观下线,则该redis客观下线。 如果客观下线的redis节点是从节点或者是Sentinel节点,则操作到此为止,没有后续的操作了;如果客观下线的redis节点为主节点,则开始故障转移,从从节点中选举一个节点升级为主节点。