外观
Redis 集群模式与哨兵模式下是如何进行 master 节点的选举的?
集群模式下的 master 节点选举
- 状态监控:节点通过心跳机制监控主节点,主节点若被多数节点标记为已下线,从节点准备故障转移。
- 新主选举:符合条件的从节点向主节点请求投票,获超半数主节点投票者成为新主。
- 角色切换:当选从节点执行命令成为主节点,继续负责原哈希槽。
- 状态更新:其他节点更新配置指向新主,集群状态同步更新。
哨兵模式下的 master 节点选举
- 状态监控:哨兵定期发 PING 监控主从节点,主节点被多数哨兵标记客观下线后触发后续流程。
- 新主选举:哨兵用 Raft 算法选出领导者,由其筛选从节点为新主并通知客户端。
- 角色切换:领导者哨兵发命令将选中从节点提升为主节点。
- 状态更新:更新其他从节点配置指向新主,同步集群状态。