《Java后端知识体系》之Redis的哨兵(Sentinel)分析(一)

一、介绍

Sentinel(哨兵、哨岗)是Redis的高可用性的解决方案,由一个或多个Sentinel实例(instance)组成的Sentinel系统可以监视多个主服务器,以及这些主服务器下的所有从服务器。

Sentinel监视的主服务器下线(断开连接)时,可以自动将该主服务器下的某个从服务器设置为新的主服务器,然后由新的主服务器代替断开连接的主服务器处理命令请求。

Sentinel系统监视服务器的例子如下:
在这里插入图片描述

该图中server1表示主服务器,server2、server3、server4表示主服务器下的从服务器,Sentinel系统监视这四个服务器。
如果此时server1进入下线状态,纳闷从服务器server2、server3、server4对主服务器的复制操作将被中止,并且Sentinel会察觉到server1已下线(sentinel通过用户设定的下线时长来判断,如果下线时长超过用户设定的下线时长,那么就判定该主服务器已下线),就会执行故障转移操作:

  1. 首先Sentinel会调整选server1下的一个从服务器,并将这个从服务器设定为主服务器。
  2. 之后Sentinel系统会向server1属下的所有从服务器发送新的复制指令,让它们成为新的主服务器的从服务器,当所有从服务器开始复制新的主服务器时,故障转移操作执行完毕。
  3. 另外,Sentinel还会继续监视已下线的server1,当它重新上线时,将它设定为新服务器的从服务器。
    该过程的图示如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值