zhanxuewei
Published on 2024-04-23 / 7 Visits
0
0

什么是Redis哨兵机制

Redis哨兵机制详解

一、核心定义

Redis Sentinel(哨兵)是Redis官方提供的高可用性解决方案,主要用于实现:

主从集群的自动故障转移

持续监控主从节点状态

服务发现与配置更新

二、核心功能

1. 监控(Monitoring)

每秒向所有节点发送PING命令

通过主观下线和客观下线机制判断节点状态

典型配置项:sentinel monitor <master-name> <ip> <port> <quorum>

2. 通知(Notification)

通过Pub/Sub通道广播节点状态变更

支持对接外部监控系统(如Prometheus)

3. 自动故障转移(Failover)

选举新的主节点流程:

Sentinel领导者选举(Raft算法)

选择最优从节点(考虑复制偏移量、运行ID等)

执行slaveof no one命令提升为主

三、部署架构

四、注意事项

至少需要3个Sentinel节点避免脑裂

客户端应实现Sentinel自动发现逻辑

旧版本存在故障转移期间数据丢失风险(建议4.0+版本)


Comment