redis Sentinel 哨兵模式

主从复制高可用,有什么缺点吗?

如果出现master机器挡掉,那么slave变为master是需要手动来完成故障转移。

20200508215118

master当掉后,数据就不能更新了,只剩下了多个slave。

那么故障转移如何完成?

20200508215951

上面的步骤太麻烦了,所以才出现了sentinel

20200508221535

哨兵模式,多了一个sentinel层,redis-client不会从master里获取信息了,也就是不会直接访问master地址,而是访问sentinel的地址来获取信息。

而且有多个sentinel随时监控我们redis的变化,及时自动的更换slave为master。因为是自动就会方便很多。

讲讲sentinel的故障转移:

1、多个sentinel发现并确认master出现故障

20200508222504

2、选举出一个sentinel作为领导

20200508222718

3、选出一个slave作为新的master

20200508223206

4、通知其他的slave,更换新的master,成为新的master下的slave。

20200508223447

5、sentinel会通知redis—client客户端主从发生了变化

20200508223845

6、老的master复活了,会成为新master下的slave。

20200508224005

 

同样sentinel可以监控多个master如下:

20200508224435

 

未完待续中。。。。。。

检测主节点超时多久,也就是多久没ping通

down-after-millisecond mymaster  30000毫秒

故障迁移的时间,超过时间迁移失败

sentinel  failover-timeout   mymaster  30000毫秒

避免复制风暴,可以通过将这个值设为 1 来保证每次只有一个slave 处于不能处理命令请求的状态。

sentinel parallel-syncs  mymaster  1

 

发表评论