Redis 哨兵机制
面试官问:"Redis 主库挂了怎么办?"
小张说:"从库接管。"
面试官追问:"怎么检测主库挂了?自动切换吗?"
小张说:"...用 Sentinel?"
面试官继续追问:"Sentinel 是怎么选举新主库的?"
小陈答不上来。
Redis Sentinel 是 Redis 主从架构的高可用方案。这道题能说清楚 Sentinel 的故障检测、选举机制、客户端重连的候选人,对 Redis 高可用有实战理解。
一、Sentinel 架构 🔴
1.1 Sentinel 的职责
1.2 Sentinel 集群
二、故障检测机制 🔴
2.1 主观下线 vs 客观下线
2.2 故障转移流程
2.3 ❌ 错误示范
候选人原话:"Sentinel 会自动检测并切换,不需要人工介入。"
问题诊断:Sentinel 本身是自动的,但客户端需要配置 Sentinel 客户端才能感知切换。如果客户端配置不当,切换后客户端仍然连接到旧主库。
【面试官心理】 这道题我会从"主观下线 vs 客观下线"追问。能说清楚"为什么需要多个 Sentinel 投票确认"的候选人,说明他理解了分布式系统中的故障检测机制。
三、客户端重连 🟡
3.1 客户端配置
3.2 故障转移的时序
四、配置建议 🟡
4.1 Sentinel 数量
4.2 常见问题
【面试官心理】 Sentinel 是 Redis 高可用的标准方案。能说清楚故障检测、选举机制、客户端重连的候选人,说明他对 Redis 高可用架构有实战理解。