当前位置:   article > 正文

Zookeeper 节点宕掉之后的工作

zookeep节点挂掉几个服务不可用

<p>假设咱们有5台机器:A-1  B-2  C-3  D-4  E-5  (后面的数字为myid)。</p> <p>为简化过程咱们使用第一次启动ZK,假设是按我之前写的顺序启动,那么应该是C为leader,其它节点为follower(为什么会这样?请大家自行充电ZK选举算法)。</p> <p>在集群的运行情况下,会有读写的操作,而咱们需要关注的是写操作。ZK集群为保证数据的一致性所有的操作都是由leader完成,之后再由leader同步给follower。重点就在这儿,ZK并不会确保所有节点都同步完数据,只要有大多数节点(即n/2+1)同步成功即可。</p> <p>咱们假设有一个写操作成功那么现在数据只存在于节点C,之后C再同步给A与B。</p> <h3>结果:</h3><p>这时候宕掉任意三个节点,根据选举策备可知这两个节点并不能选出leader(因为无论怎么选都不会有超过半数的节点支持其中一个节点),所以两个节点都转到looking状态--即无法正常服务。</p> <p>但是如果有一台恢复那么至少会有一个节点存有最新的数据,那么在选举中这个节点将会被选为leader,然后将数据同步到其它节点--即恢复服务。</p>

转载于:https://my.oschina.net/Senger/blog/174621

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/54032
推荐阅读
相关标签
  

闽ICP备14008679号