sentinel

来源:互联网 发布:怎么制作软件程序 编辑:程序博客网 时间:2024/05/17 04:12

sentinel(哨兵,哨岗),是Redis的高可用性解决方案,由一个或多个sentinel组成sentinel系统可监视多个主服务器,以及这些主服务器下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线的主服务器下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器升级为新的主服务器

1.启动命令

redis-server /etc/sentinel.conf --sentinel


2.sentinel启动步骤

sentinel启动时,会执行一下几个步骤

1.初始化服务器

sentinel本质上是一个特殊的模式下的redis服务器,所以启动的第一步就是初始话一个redis服务器,但是sentinel启动时不会载入RDB文件或者AOF文件。

sentinel在初始化阶段会:

  1. 载入自己专有的配置文件和命令列表,
  2. 初始化master字典
  3. 创建连向主服务器的连接(命令链接和订阅连接)

2.获取服务器列表

sentinel会以每十秒一次的频率,向被监视的主服务器和其从服务器发送info命令,向主服务器和从服务器发送信息,并接受来自主服务器和从服务器的信息。sentinel会使用这些信息来更新自己的sentinels字典

3.创建链接其他sentinel的命令连接

如果sentinel通过频道信息发现其他的sentinel,也会创建连向新的sentinel的命令连接(不创建频道连接)

3.转移故障

当sentinel检查到被监视的主服务器下线后,会向其他sentinel(如果有的话)发送确认命令,当得到一定数量的确认后,sentinel就会将主服务器下线,对主服务器进行故障转移操作,包括选取新的主服务器,为旧主服务器的从服务器设置新的主服务器,也为旧服务器设置新的主服务器。当旧的主服务器上线后,将其降级为从服务器

详细信息参考:http://redisbook.com/index.html

0 0