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

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

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

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

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

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

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

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

相关文章:

  • 2021-07-30
  • 2021-06-27
  • 2021-05-17
  • 2021-06-08
  • 2022-01-29
  • 2021-12-09
  • 2021-07-02
猜你喜欢
  • 2021-06-22
  • 2021-07-25
  • 2022-01-02
  • 2021-12-11
  • 2022-12-23
  • 2021-06-24
  • 2022-12-23
相关资源
相似解决方案