redis学习之redis Sentinel的三个定时任务与领导者选举

redis Sentinel做到故障转移是基于三个定时任务的执行

(1)每隔10s每个sentinel会对master节点和slave节点执行info命令

            作用就是发现slave节点,并且确认主从关系,因为redis-Sentinel节点启动的时候是知道

             master节点的,只是没有配置相应的slave节点的信息

(2)每隔两秒,sentinel都会通过master节点内部的channel来交换信息(基于发布订阅)

             作用是通过master节点的频道来交互每个Sentinel对master节点的判断信息

(3) 每隔一秒每个sentinel对其他的redis节点(master,slave,sentinel)执行ping操作,对于master来说

            若超过30s内没有回复,就对该master进行主观下线并询问其他的Sentinel节点是否可以客观下线

 

客观下线和主观下线

           主观下线:每个Sentinel节点对Redis节点失败的“偏见”

           客观下线:所有Sentinel节点对Redis节点失败达成共识

领导者选举,之后进行故障转移,这个过程由成为leader的Sentinel的来完成。

redis学习之redis Sentinel的三个定时任务与领导者选举_第1张图片

之后便进行故障转移:

redis学习之redis Sentinel的三个定时任务与领导者选举_第2张图片

 parallel-syncs参数的含义:

         主从复制过程中,从节点从master同步数据的并发度,虽然此过程中RDB文件只有一份,但是RDB文件生成的过程中

       若master节点有新的命令被执行,那么master会向salve发送buffer中缓存的数据,会占用一定的网络,因此一般设置为1

redis学习之redis Sentinel的三个定时任务与领导者选举_第3张图片

 

 

你可能感兴趣的:(redis)