哨兵是什么?
哨兵是Redis高可用(HA)的解决方案.它是一种特殊的模式.只不过它不对外提供服务.
它的组成: Sentinel是一个系统(或者说是集群)它是由一个(多个实例)组成
采用哨兵集群的原因是防止哨兵的误判.(单个哨兵的话会由于主节点过大或者由于网络原因造成误判)
为什么需要Redis哨兵?
Redis有主从模式(客户端写操作发送到主节点,读操作发送到从节点)
如果这时候主节点出现故障,不能对外提供服务了.这个时候我们需要做哪几个操作才能正常的对外提供不间断服务.
1.我们不知什么主节点挂了(最主要的问题)
2.手工把从库设置为主库
3.客户端还需要修改新的主库地址
Redis如何提供无间断对外提供服务?
首先我们了解下Redis哨兵三个定时任务
1.监控(主节点是否下线)
2.选主(选择一个新的主节点)
3.通知(通知客户端和其他从节点,哨兵)
监控(三个定时任务)
INFO命令
监控的话这里我们就必须了解到哨兵的三个定时任务了
第一个定时任务: 每10s每个哨兵对master和slave节点发送INFO命令

哨兵会定时向所的Redis服务节点(主从)发送INFO命令。(获取拓扑图信息)
订阅频道
第二个定时任务 每2秒每个sentinel通过master节点的channel交换信息

当Redis主从模式中的主节点挂机时,哨兵(Sentinel)系统起到关键作用。哨兵通过执行三个定时任务,包括INFO命令、订阅频道和PING命令来监控主节点状态。当检测到主节点主观下线后,会进行客观下线判断,确保无间断地对外提供服务。
最低0.47元/天 解锁文章
1231

被折叠的 条评论
为什么被折叠?



