【问题标题】:Legal Hierarchical Quorums in ZookeeperZookeeper 中的合法等级法定人数
【发布时间】:2023-02-09 19:12:26
【问题描述】:

我试图了解 Zookeeper 中的分层仲裁。我可能不理解文档中显示的示例 (here)。 [来自两个不同组的至少两台服务器] 的选票是否足以构成合法的法定人数?

在我看来,这里的例子并没有获得大部分权重;它只获得超过 4 张选票。法定法定人数应获得超过 5 张选票 (9/2+1)。

我也看了source code。算法实现显示在第 352 行到第 371 行。Zookeeper 仅检查所有组是否占多数以及所选组的数量是否大于组数的一半。

【问题讨论】:

    标签: apache-zookeeper distributed-system hierarchical distributed-database quorum


    【解决方案1】:

    也许我找到了答案。

    另一种使用权重并在广域部署(协同定位)中有用的不同结构是分层结构。通过这种结构,我们将服务器分成不相交的组,并为进程分配权重。为了形成法定人数,我们必须从大多数组 G 中获得足够多的服务器,这样对于 G 中的每个组 g,来自 g 的选票总和大于 g 中权重总和的一半。有趣的是,这种结构可以实现更小的群体。例如,如果我们有 9 个服务器,我们将它们分成 3 组,并为每个服务器分配 1 的权重,那么我们就可以形成大小为 4 的群体。

    请注意,由来自大多数组中的每一个的大多数服务器中的每一个组成的两个进程子集必然具有非空交集。可以合理地预期,大多数托管地点的大部分服务器很有可能可用。

    【讨论】:

      猜你喜欢
      • 2016-04-04
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 2015-01-24
      • 2020-10-26
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多