3

动物园管理员专家。

我问的问题对你来说可能是基本的,但我是 ZK 的新手,我还没有掌握这个工具,所以请原谅我。考虑到这一点,这是我的问题。

假设我有一个由 5 个服务器组成的 ZK 集群,并且我的法定人数为 3。现在这可以保证服务器不会进入裂脑场景,如果它们位于两个物理上独立的 DC 或机器中。

但是,我想知道的是,如果 Quorum 设置为 3,这意味着 Leader 服务器,将需要等待至少 2 个服务器复制写入的数据,总共 3 个复制数据。但是,如果客户端连接到不属于 Quorum 的任何 2 台服务器的服务器怎么办,这不是意味着它获取旧数据吗?

4

1 回答 1

0

首先,您不能“设置”法定人数。它是从配置中自动计算出来的,使用N/2+1(大多数)其中 N 是 zookeeper 服务器的数量 *。

不属于 Quorum 的 Zookeeper 服务器变得不可用,并且无法将数据提供给客户端,因此没有看到旧数据的风险。

于 2018-11-08T19:39:31.083 回答