三,Redis哨兵机制
Redis的哨兵机制主要是为了提高Redis主从模型下的可用性,能保证主节点异常发生时还能够正常的运作并进行故障转移。哨兵机制为了实现这一点提供了以下这些功能:
- 节点监控
- 下线判断
- 领导者选举
- slave选举
- 故障转移
在介绍这些功能前我们先用一张图了解整个Redis哨兵模型

这里的Sentinel便是哨兵集群,他们会监控master节点及其所有的slave节点,实时获取他们的健康信息,根据健康信息的变化来做故障转移。
节点监控
关于哨兵的节点监控的实现是通过三个定时监控任务完成对各个节点的发现和监控的:
Info事件
每隔10s钟就会向当前的master节点发送一个info命令,以获取最新的拓扑结构**。当向主节点执行info命令时,会获取从节点的信息,这也是为什么无需在sentinel配置文件中显示的配置从节点地址。而且有新的节点加入可以立刻感知出来。**

Sentinel节点事件
每隔2s钟就会向 Redis数据节点的__sentinel__:hello
频道向其他Sentienl节点分享自己的主节点信息和自身的Sentinel信息</