zoukankan      html  css  js  c++  java
  • Redis集群架构中主节点选举机制

    Redi集群三主三从架构

    选举流程

    1.每个slave会与自己的master通讯,当slave发现自己的master变为fail时。每个slave都会参与竞争,推举自己为master。
    2.增加currentEpoch的值,并且每个slave向集群中的其他所有节点广播FAILOVER_AUTH_REQUEST。
    3.其他master会受到多个slave的广播,但是只会给第一个slave回复FAILOVER_AUTH_ACK。
    4.slave接收到ack之后,会使用过半机制开始统计。即:当前有多少master给自己ack,如果超过一半的master发送ack,则成为master。
    5.广播PONG,通知给集群中的其节点。
    至此,选举流程结束。

    思考

    Redis集群中,为什么Master的数量要使用奇数?使用偶数是否可以?
    答案是可以。但是因为采用过半机制的选举流程,在高可用方面来说,与偶数是一致的。
    例如:
    在9个master的架构中,如果4台master故障,通过过半机制,redis可以选举新的master。如果5台master故障无法选举新的master
    在10个master的架构中,如果4台master故障,通过过半机制,redis可以选举新的master。如果5台master故障无法选举新的master
    在高可用方面,9台master与10台master一致。所以通常会使用奇数。假设现在reids内存不足需要拓展,我们将master的数量加到11台,就高可用方面来说,就算其中5台master发送故障,也可以自动选举新的master。

  • 相关阅读:
    mysqldump全量和增量备份脚本
    mysqldump根据通配符批量导出
    xtrabackup2.4_MySQL5.7备份与恢复
    ArrayInt
    Oracle wallet配置登陆凭证
    percona xtrabackup8.0.4备份恢复mysql8.0.12
    mysql修改密码
    range
    一周感悟
    Target
  • 原文地址:https://www.cnblogs.com/wugang/p/14490649.html
Copyright © 2011-2022 走看看