Redis 哨兵机制

作用

解决主从模式下,主实例故障后的主从切换(将从实例提升
为主实例),以保证系统可用
在这里插入图片描述

监控主从实例运行状态

在主从实例运行的同时,也有一个特殊的redis进程在运行(哨兵)
它负责监控主,从实例的运行状态(心跳检测:在规定时间内响应哨兵)
如果从实例没在规定时间内响应,则将其标记为下线
如果主实例没在规定时间内响应,则开始进行主从切换流程
由于单个哨兵可能由于自身网络波动或者当时主实例压力较大造成超时应答,将主实例误判为下线(主观下线)。从而执行不必要的主从切换逻辑。故一般都将哨兵做成集群,通过少数服从多数来判断主实例是否下线(客观下线)
在这里插入图片描述

选主流程

当判断主实例下线后,运行打分机制
1.先将已下线从实例排除
2.将从实例运行期间和主实例断线达到一定次数的节点排除掉
3.判断从实例的优先级(优先级可以通过:slave-priority 配置),优先级高的,打高分
4.比较从库的环形缓冲区的slave_repl_offset(这个参数是用来记录和主实例的复制度差异,当主实例挂掉以后,master_repl_offset 将不会增加,故从实例的slave_repl_offset 越大,就和主实例的差异越小),slave_repl_offset越大,分数越高
5.执行redis的默认规则: runID 越小,分数越高
经过上面的打分过程,选出主以后
哨兵将主的信息告诉其它从实例
从实例通过 replicaof 与新主实例同步
哨兵通知客户端和新主实例连接

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值