什么应该是Zookeeper的合奏中的大多数

时间:2014-04-03 17:14:19

标签: apache-zookeeper

我试图了解Zookeeper使用这本书 - Zookeeper By Flavio Junqueira, Benjamin Reed,提到我们需要为仲裁选择大多数服务器,如下所述:

  

假设我们使用四台服务器作为整体。大多数服务器是   由三台服务器组成。但是,这个系统只能容忍一个   单一崩溃,因为双重崩溃使系统失去多数。   因此,有了四台服务器,我们只能容忍一次崩溃,   但现在法定人数更多,这意味着我们需要更多   每个请求的确认。最重要的是我们应该   总是为奇数个服务器拍摄。

请帮助我理解这一点。

我们如何为给定的整体选择大多数服务器?

为什么这句话说现在的法定人数更多,为什么我们需要为每个请求提供更多的确认?

1 个答案:

答案 0 :(得分:0)

这只意味着应该考虑更多的服务器,而不应该考虑集合中的每个服务器,或者更多的服务器确认消息接收,而不是那些服务器。使用4台服务器,您需要3台服务器才能满足这一条件,只需3台服务器。在每种情况下,您只能容忍一台服务器发生故障,群集仍然无法启动。 4节点集群更糟糕,因为您现在有一个额外的服务器,基本上不会使您的集群比3节点集群更容错。

此外,如果您有3个节点,则只需要2个确认即可满足法定人数要求。 4,你需要3个ack。这将导致集群速度变慢。这就是'因此,有四台服务器......'声明意味着。