zoukankan      html  css  js  c++  java
  • Redis拾遗(六)

    哨兵:

    1. Redis主从复制模式下,一旦主节点故障不能提供服务,哨兵架构可解决此类问题,自动完成故障发现和故障转移,并通知应用方,实现真正的高可用。
    2. 逻辑架构上Redis Sentinel只是新增了多个Sentinel节点,这些节点集合会定期对所有节点进行监控,特别是对主几点的故障实现自动转移。
    3. 安装和部署:
      1. 启动主节点;
      2. 启动两个从节点(配置文件中加slaveof);
      3. 配置Sentinel节点;
      4. 启动Sentinel节点;(redis-sentinel命令);
    4. 部署技巧:
      1. 不应将Sentinel节点部署到同一物理机上,防止硬件故障导致整体异常;
      2. 部署三个以上奇数个Sentinel节点;
    5. 实现原理
      1. 三个定时监控任务:
        1. 每隔10s,每隔Sentinel节点会想主节点和从节点发送info命令获取最新的拓扑结构。
        2. 每隔2s,每个Sentinel节点会向Redis数据节点的__sentinel__:hello频道上发送该Sentinel节点对于主节点的判断以及当前Sentinel节点的信息,同时每个Sentinel节点也会订阅该频道,了解其他Sentinel节点以及它们对主节点的判断。
        3. 每隔1s,每个Sentinel节点会向主节点、从节点、其余Sentinel节点发送一条ping命令做一次心跳检测,来确认这些节点当前是否可达。
      2. 主观下线客观下线:
        1. 主观下线:
          1. 当心跳检测超过down-after-milliseconds没有进行有效回复,Sentinel节点会判定该节点下线,所谓主观下线。
        2. 客观下线:
          1. 当主观下线的节点是主节点时,该节点会通过sentinel is-master-down-by-addr命令向其他Sentinel节点询问对主节点的判断,当超过<quorum>个数,会做出客观下线的决定。
      3. 领导者Sentinel节点选举:
  • 相关阅读:
    开源电话交换平台FreeSwitch的安装与配置
    快速编辑 Shell 命令行
    RedHat在字符模式下安装图形界面
    Linux字符界面切换到图形界面
    row cache lock
    cursor: pin S
    Excel 2010高级应用-气泡图(八)
    JDBC异常之数据库表不存在
    java.sql.SQLException之数组越界
    java中JDBC报错(一)
  • 原文地址:https://www.cnblogs.com/fly-to-the-sky/p/9775696.html
Copyright © 2011-2022 走看看