Zookeeper专家。
我要问的问题可能是您的基本知识,但是我对ZK并不陌生,我还没有掌握该工具,所以请原谅。考虑到这一点,这是我的问题。
假设我有一个由5台服务器组成的ZK集群,并且有3个定额。现在,如果服务器位于两个物理上分开的DC或机器中,则可以保证它们不会进入裂脑方案。
但是,我想知道的是Quorum是否设置为3,这意味着Leader服务器需要等到至少2个服务器复制写入的数据,总共3个复制数据。但是,如果客户端连接到不属于Quorum的服务器(两台服务器中的任何一台),那不是意味着它获取了旧数据吗?
答案 0 :(得分:0)
首先,您不能“设置”仲裁。它是根据配置自动计算得出的,使用N/2+1
(多数),其中N是Zookeeper服务器的数量*。
不属于Quorum的Zookeeper服务器将不可用,并且无法将数据存储到客户端,因此不会有看到旧数据的风险。