Redis 哨兵模式
Redis 主从模式是一主多从,从节点宕机还有其他的备份,但是主节点宕机了,必然引起系统的故障。为了解决这个问题,Redis 提供了哨兵模式,监控主从模式中的所有节点,如果主节点宕机,会选举从节点重新成为主节点。使整个主从服务正常运行。
Redis 提供了哨兵机制来实现主从集群的自动故障恢复。其主要起到的作用如下:
- 监控:Sentinel 会监控不断检查主从集群的主从节点是否正常工作;
- 故障恢复:主节点宕机,Sentinel 会从从节点中选举出一个节点,将其设置为主节点,故障恢复后原先的主节点将置为从节点;
- 通知:Sentinel 充当客户端的服务发现来源,当集群发现故障转移后,会将最新消息推送到客户端。
服务状态监控
Sentinel 基于心跳机制监测服务状态,每个一秒向集群中的每个实例发送 ping 命令。
- 主观下线:如果某 Sentinel 节点发现某个节点未在规定的时间响应心跳,那么就认为该节点主观下线;
- 客观下线:如果指定数量的 Sentinel 认为某个节点下线,那么该节点将被认为客观下线。