redis哨兵模式

主从模式有缺陷,保证不了redis集群的高可用。加入主节点宕机,就丧失了写数据的能力。为了保证redis集群的高可用,就提出了哨兵模式,实现主从集群的自动故障恢复。

哨兵也是一个由多台redis节点(至少3台)组成的节点。

哨兵的作用

监控:sentinel会不断检查主从节点是否按预期工作

自动故障恢复:当主节点宕机后,sentinel会自动将一个从节点提升为主节点

通知:当主节点宕机,会通知客户端,让客户端发消息发到正确位置,连接到新的主节点

监控如何实现的

sentinel每隔1秒给redis每节点发送ping命令,在一定时间内,redis节点返回响应,说明还在工作,否则判定为下线状态。

主观下线:一个sentinel认为你下线。客观下线:一定数量的sentinel认为你下线了

一定数量可以通过redis.conf来设置,一般设置为一半

选主规则

哨兵模式也有问题

脑裂问题

由于网络问题,sentinel误认为主节点宕机,选了一个新的主节点,但是客户端还是在写的是原来旧的主节点。

网络恢复了,sentinel会将旧的master强制降为slave,这个slave就会清空自己的数据,强制从新的master中同步数据,那客户端写入的数据就丢失了。

脑裂解决方法:

设置最小的slave节点为1个,就是说当客户端写数据时,这个主节点必须有一个从节点,否则拒绝请求

主从数据同步延迟不能超过一定时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值