redis哨兵模式

redis哨兵模式


哨兵模式

  • 概述

    哨兵模式主要是基于前面用到的主从模式进行改造的,由于主从模式的缺陷,所以哨兵模式弥补了这以缺陷

  • 优点

    • 监控主数据库和从数据库是否正常运行
    • 主数据库出现故障时,可以自动将从数据库转换为主数据库,实现自动切换
    • 如果redis服务出现问题,会发送通知
  • 缺点

    • 主数据库出现故障时,选举切换的时候容易出现瞬间断线现象
  • 判断在线情况

    默认情况下,每个 Sentinel 节点会以 每秒一次 的频率对 Redis 节点和 其它Sentinel 节点发送 PING 命令,并通过节点的 回复 来判断节点是否在线。

  • 架构图
    在这里插入图片描述

  • 下线/down

    • 主观下线
      • 主观下线 适用于所有 主节点从节点。如果在 down-after-milliseconds 毫秒内,Sentinel 没有收到 目标节点 的有效回复,则会判定 该节点主观下线
      • 只有半数个哨兵节点都主观判定主节点down掉,此时多个哨兵节点交换主观判定结果,才会判定主节点客观下线。
    • 客观下线
      • 客观下线 只适用于 主节点。如果 主节点 出现故障,Sentinel 节点会通过 sentinel is-master-down-by-addr 命令,向其它 Sentinel 节点询问对该节点的 状态判断。如果超过 <quorum> 个数的节点判定 主节点 不可达,则该 Sentinel 节点会判断 主节点客观下线
      • 基本上哪个哨兵节点最先判断出这个主节点客观下线,就会在各个哨兵节点中发起投票机制,每个哨兵都投自己为领导者。最终被投为领导者的哨兵节点完成主从自动化切换的过程。当判断为主观下线时,不会进行主从切换过程。
  • 选举

    每个发现主服务器进入客观下线的sentinel都可以要求其他sentinel选自己为领头sentinel,选举是先到先得同时每个sentinel每次选举都会自增配置纪元,每个纪元中只会选择一个领头sentinel。如果所有超过一半的sentinel选举某sentinel领头sentinel。之后该sentinel进行故障转移操作。

  • 环境搭建

    参考 redis哨兵部署

et/zbw18297786698/article/details/52891695)

参考文章:https://juejin.im/post/5b7d226a6fb9a01a1e01ff64

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章