Redis-哨兵

  • 哨兵(Sentinel)是Redis的高可用性解决方案:由一个或多个哨兵实例组成的哨兵系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求.

  • 哨兵本质上是一个运行在特殊模式下的Redis服务器.不同的地方在于指令集不同,不需要加载数据,只需监控节点.

  • 哨兵启动时的执行步骤

    • 根据给定的配置文件,初始化哨兵的监视主服务器列表
    • 创建连向主服务器的网络连接
    • 监视从服务器(如果有的话)
    • 监视其他哨兵(如果有的话)
  • 哨兵是如何发现从服务器和其他哨兵的?

    • 哨兵通过向主服务器发送INFO命令,可以获知从服务器的信息
    • 哨兵与主从服务器之间除了创建命令连接外,还会创建订阅连接.哨兵通过命令连接向主从服务器的频道发送消息,然后通过订阅广播告知其他哨兵,这样哨兵之间就可以做到互相感知了.
  • 哨兵如何切换主服务器的?

    1.检测主观下线状态和客观下线状态

    2.选举领头哨兵

    3.由领头哨兵选出新的主服务器

    4.修改从服务器的复制目标

    5.将旧的主服务器变为从服务器

  • 主服务器变更时,会修改主从服务器本地配置吗?

    //todo 未完待续

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容