• 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、如果已经下线的主服务器再次上线,则该服务器作为新主服务器的从服务器。

  • 相关阅读:
    HDU 2544 最短路
    HDU 3367 Pseudoforest
    USACO 2001 OPEN
    HDU 3371 Connect the Cities
    HDU 1301 Jungle Roads
    HDU 1879 继续畅通工程
    HDU 1233 还是畅通工程
    HDU 1162 Eddy's picture
    HDU 5745 La Vie en rose
    HDU 5744 Keep On Movin
  • 原文地址:https://www.cnblogs.com/chen--biao/p/9899265.html
Copyright © 2020-2023  润新知