Redis主从模式,哨兵

Redis主从模式下的Redis哨兵

哨兵是什么?

哨兵是Redis高可用(HA)的解决方案.它是一种特殊的模式.只不过它不对外提供服务.
它的组成: Sentinel是一个系统(或者说是集群)它是由一个(多个实例)组成
采用哨兵集群的原因是防止哨兵的误判.(单个哨兵的话会由于主节点过大或者由于网络原因造成误判)

为什么需要Redis哨兵?

Redis有主从模式(客户端写操作发送到主节点,读操作发送到从节点)
如果这时候主节点出现故障,不能对外提供服务了.这个时候我们需要做哪几个操作才能正常的对外提供不间断服务.
1.我们不知什么主节点挂了(最主要的问题)
2.手工把从库设置为主库
3.客户端还需要修改新的主库地址

Redis如何提供无间断对外提供服务?

首先我们了解下Redis哨兵三个定时任务
1.监控(主节点是否下线)
2.选主(选择一个新的主节点)
3.通知(通知客户端和其他从节点,哨兵)

监控

INFO命令
监控的话这里我们就必须了解到哨兵的三个定时任务了
第一个定时任务: 每10s每个哨兵对master和slave节点发送INFO命令
哨兵会定时向所的Redis服务节点(主从)发送INFO命令

在这里插入图片描述

订阅频道

第二个定时任务 每2秒每个sentinel通过master节点的channel交换信息
每个哨兵节点岁会向频道发送对于(sentinel: hello)判断信息(这里的频道还有其他的频道,后面再介绍)
也会订阅其他哨兵节点对于主节点的判断

PING命令(检测)

第三个定时任务 定时检测,每隔1秒, 每个Sentinel节点会向主节点、 从节点、 其余Sentinel节点发送一条ping命令做一次心跳检测, 来确认这些节点当前是否可达

Redis判断主节点下线(主观 客观)

Redis 主节点下线的过程分为 主观下线,客观下线
在这里如果你的哨兵只有一个会直接下线就行故障转移,如果是多个会进行询问后(多数哨兵就决定下线)
才会就行故障转移。正常情况下都会有多个哨兵。
主节点下线步骤:
1.当哨兵PING命令发现,有节点响应超时,会把节点标记为客观下线.
2.如果客观下线节点为主节点时,会询问其他哨兵,当其他哨兵也判定客观下线(超过半数哨兵认为客观下线)
3.哨兵系统会选择一个哨兵把其中的一个从节点升级为主节点,并通知客户端.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值