zoukankan      html  css  js  c++  java
  • Redis--哨兵

    Sentinel 哨兵 —— 高可用 (high availability)

       监视集群,主服务器的选举。

    主服务器的下线判断:

      1、在down-after-milliseconds选项设置的时间内,连续向Sentinel返回无效回复。

      2、询问其它监视主服务器的Sentinel也得到主服务器下线的回应。

      注意点:如何正确的判断主服务器是否下线。

    领头Sentinel的选举:(当主服务器被判断为下线时,监视该集群的Sentinel就进行领头的选举)

      1、所有在线的Sentinel都有被选举为领头的资格。

      2、每次选举后,Sentinel的配置纪元自增1。(configuration epoch,类似计数器的作用)

      3、同一个批次的配置纪元内,选票唯一,确定后,就不再修改。

      4、首先发现主服务器下线的Sentinel优先设置为领头哨兵。

      5、先到先得规则,如果有两个Sentinel同时要求目标Sentinel将自己设置为领头Sentinel,则哪个消息先到达,执行哪个。抛弃后面到达的消息。

      6、半数规则。领头Sentinel需要得到超过半数以上的投票,公式为 n/2+1 (n/2向下取整,且一般情况下,n为奇数)

      7、在同一个配置纪元下,领头Sentinel选举失败,则循环上述的规则。

      注意点:如何才能确保领头唯一,且选举的时候不进入死循环。上述的规则,就是答案。

    主服务器的选举:

      1、从服务器正常。

      2、根据从服务器的优先级进行排序。

      3、根据从服务器的复制偏移量进行排序。

      4、根据从服务器的运行ID进行排序。

      5、根据这三个组合排序,获取第一个从服务器做为主服务器。 

      注意点:选取数据最新的从服务器作为主服务器。

    选好主服务器后,进行故障转移:

      1、让从服务器复制新的主服务器。

      2、如果已经下线的主服务器再次上线,则该服务器作为新主服务器的从服务器。

  • 相关阅读:
    redis入门
    elementui入门
    1387:搭配购买(buy)
    P1536 村村通
    1388:家谱(gen)
    1389:亲戚
    1385:团伙(group)
    P1305 新二叉树
    P5076 【深基16.例7】普通二叉树(简化版)
    二叉搜索树(BST)模版
  • 原文地址:https://www.cnblogs.com/chen--biao/p/9899265.html
Copyright © 2011-2022 走看看