zoukankan      html  css  js  c++  java
  • zookeeper 数据一致性实质

    zk进行数据一致性处理分为两个阶段:

    (1)确认阶段:首先会与follow节点确认能否进行数据同步;

    (2)同步数据阶段:如果可以进行数据同步则直接向follow节点发送数据;

    那么如果在数据同步时,某节点发生宕机就会发生选举:

    (1)首先会根据zxid大小进行投票,如果某节点的zxid都比其它节点更大则直接选举为leader;(zxid为数据同步后的一个版本号,数值越大同步的数据越多);

    (2)如果zxid相同,还会去比较myid,myid更大的直接选举为leader,这个是在配置中手动配置好的(可以机器性能越好的配置更大的数值);

    (3)如果有过半的节点已经选举出leader,则新加入的节点不会在参与选举;

    所以zk中的ZAB原子广播,实际做了两件事儿,1选举leader,2数据同步。

  • 相关阅读:
    JVM相关知识
    面试之mysql专题
    Java新特性
    数据结构操作与算法复杂度分析
    IO流
    浅谈Web安全
    面试题2
    需要知道的HTTP 知识
    How JavaScript Work
    webpack 学习笔记
  • 原文地址:https://www.cnblogs.com/zzq-include/p/12269434.html
Copyright © 2011-2022 走看看