redis之Sentinel的实现原理:三个定时监控任务、主观下线和客观下线、领导者节点选举、故障转移

1、三个定时监控任务

每隔10s

sentinel每隔10s向所有主从节点发送info命令
作用
1、发现最新加入的slave节点,并且确认主从关系
2、还可以通过info命令来获取该节点的最新信息。

每隔2s

master节点上有一个发布订阅的频道(sentinel:hello),Sentinel节点每隔2s发送该Sentinel节点对于主节点的判断以及当前Sentinel节点的信息 ,同时每个Sentinel节点也会订阅该频道
作用
1、因为Sentinel他到__sentinel__:hello上会保存自己Sentinel节点信息所以可以发现新的sentinel节点,并和新的Sentinel简历连接
2、会交换对主节点的状态,为以后的客观下线和领导者选举做准备

每隔1s

每隔1s,每个Sentinel向master节点、所有的slave节点和其余的Sentinel节点发送一条ping命令来做心跳检测,确认这些节点是否可达(相互监控)
作用
1、实现了对每个节点的监控,这个定时任务是sentinel对节点判断是否下线的依据

主观下线和客观下线

主观下线:
上面介绍的第三个定时任务(每隔一秒),当这些节点超过down-after-milliseconds(设置的有效回复时间)没有进行有效的回复,Sentinel节点就会对该节点做失败判定,这个行为叫做主观下线

客观下线:
当Sentinel主观下线

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值