美文网首页
分布式选举算法

分布式选举算法

作者: zfh_51d2 | 来源:发表于2020-10-04 08:10 被阅读0次

    Bully 算法

    在所有活着的节点中,选取 ID 最大的节点作为主节点。

    优点

    选举速度快、算法复杂度低、简单易实现。

    缺点
    1. 需要每个节点有全局的节点信息,因此额外信息存储较多
    2. 任意一个比当前主节点 ID 大的新节点或节点故障后恢复加入集群的时候,都可能会触发重新选举,成为新的主节点,如果该节点频繁退出、加入集群,就会导致频繁切主。

    Raft 算法

    获得投票最多的节点成为主。

    优点

    选举速度快、算法复杂度低、易于实现的

    缺点

    要求系统内每个节点都可以相互通信,且需要获得过半的投票数才能选主成功,因此通信量大。

    该算法选举稳定性比 Bully 算法好,这是因为当有新节点加入或节点故障恢复后,会触发选主,但不一定会真正切主,除非新节点或故障后恢复的节点获得投票数过半,才会导致切主。

    ZAB 算法

    少数服从多数,ID 大的节点优先成为主。

    优点

    稳定性较好,当有新节点加入或者节点故障后不一定切主。

    缺点
    1. 采用广播方式发送信息,若节点中有 n 个节点,每个节点同时广播,则集群中信息量为 n*(n-1) 个消息,容易出现广播风暴
    2. 除了投票,还增加了对比节点 ID 和数据 ID,这就意味着还需要知道所有节点的 ID 和数据 ID,所以选举时间相对较长。

    相关文章

      网友评论

          本文标题:分布式选举算法

          本文链接:https://www.haomeiwen.com/subject/wwnouktx.html