哨兵(Sentinel)是Redis的高可用性解决方案:由一个或多个哨兵实例组成的哨兵系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求.
哨兵本质上是一个运行在特殊模式下的Redis服务器.不同的地方在于指令集不同,不需要加载数据,只需监控节点.
-
哨兵启动时的执行步骤
- 根据给定的配置文件,初始化哨兵的监视主服务器列表
- 创建连向主服务器的网络连接
- 监视从服务器(如果有的话)
- 监视其他哨兵(如果有的话)
-
哨兵是如何发现从服务器和其他哨兵的?
- 哨兵通过向主服务器发送INFO命令,可以获知从服务器的信息
- 哨兵与主从服务器之间除了创建命令连接外,还会创建订阅连接.哨兵通过命令连接向主从服务器的频道发送消息,然后通过订阅广播告知其他哨兵,这样哨兵之间就可以做到互相感知了.
-
哨兵如何切换主服务器的?
1.检测主观下线状态和客观下线状态
2.选举领头哨兵
3.由领头哨兵选出新的主服务器
4.修改从服务器的复制目标
5.将旧的主服务器变为从服务器
-
主服务器变更时,会修改主从服务器本地配置吗?
//todo 未完待续
Redis-哨兵
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...