当前位置: 首页 > 网络应用技术

ZAB算法和其他共识算法之间的差异

时间:2023-03-08 20:07:14 网络应用技术

  ZAB算法的完整过程是Zookeeper Atomic广播算法,该算法主要应用于Zookeeper。

  ZAB算法主要由四个阶段组成:

  ZAB算法的设计也将有四个阶段

  在ZAB算法的设计中,只需要在进入正式ZAB算法时满足这种条件:以很大的概率,选择唯一的节点。它成为领导者。

  简而言之,希望选出最认可且通常是正常运行的领导者,并且无需确保数据是否是最新的,最完整的。不是大多数节点识别的节点。如果该状态进入下一个节点,则ZAB算法将返回选举阶段并重新选举。

  在此阶段选出的领导者称为预先所有者。当发现和同步阶段尚未失败时,选举的节点将成为真正的领导者节点。

  选举阶段的所有节点均处于选举状态。当进入下一阶段时,前节点的状态将处于领导状态,其他节点的状态处于追随者状态。

  此阶段的主要目的:

  为了完成上述两个目的,将执行以下过程

  此阶段的主要目的:

  执行以下过程:

  广播阶段的主要目的:

  该过程如下:

  ZAB 1.0算法的实现主要是四个阶段

  与设计的选举阶段一致,选择一个节点以成为初步所有者,然后作为领导者身份进入下一阶段

  这个阶段是主要目的:

  详细过程如下:

  此阶段的主要目的:

  详细过程如下:

  收到快照/trun/diff消息后,追随者不会立即适用。相反,它正在等待新闻信息。收到新闻消息后,以下两个操作将是原子,然后将发送ACK。

  如果领导者收到大多数追随者发送的ACK,它将获得E.SEND请求的Epoch的领导

  追随者收到上述请求后,输入下一阶段

  注意:追随者根据收到的不同要求进行不同的治疗

  相同的设计ZAB算法

  设计的ZAB算法选择进入阶段的前阶段仅需要一个领导者。如果领导者的数据不是最新的数据,它将从以下的最新数据中修复。领导者将所有历史记录发送到追随者。通过两个阶段提交,提案和提交操作实现的ZAB算法是相同的作为设计选举阶段的设计。设计设计的设计

  原始:https://juejin.cn/post/7100029251784540197