zk的脑裂问题你真正理解了没

技术文章 1年前 (2020) 完美者
1,631 0

标签:技术   img   最好   info   alt   raft   一个   导致   文章   

zk的脑裂问题你真正理解了没
说到zk的部署,大家一定会想到部署最好为奇数,上遍文章已经介绍过了zk部署奇数个好,还是偶数好呢?,但另外一个问题大家有没有考虑,为什么zk的选举必须过半同意,才算选举成功呢?
zk用的算法是raft算法,里面写到必须可用节点数过半才能选举出一个leader,这样就避免了脑裂问题的产生,比如:有两个机房,机房a部署了三台zk服务,机房b部署了三台zk服务器,如果发生网络故障,各自独立了,这个时候,各个机房得选举leader,如果选举的逻辑变成,可用节点数>=总节点数/2,这个时候两个机房会选择出各自的leader,这样就导致了有两个leader,这样网络一恢复正常,就不知道听谁的指挥了,就产生了脑裂的问题。所以算法采用的是过半机制,即节点数>总节点数/2,这样机房a和b多不会产生leader,避免了脑裂问题;如果是机房a部署了4台,机房b部署了两台,利用过半原则,只会a产生leader,b不会产生leader,不会导致脑裂的问题,所以过半机制解决了zk脑裂的痛点。
zk的脑裂问题你真正理解了没

zk的脑裂问题你真正理解了没

标签:技术   img   最好   info   alt   raft   一个   导致   文章   

原文地址:https://blog.51cto.com/xxdeelon/2532300

版权声明:完美者 发表于 2020-09-17 23:32:02。
转载请注明:zk的脑裂问题你真正理解了没 | 完美导航

暂无评论

暂无评论...