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主观下线