2

例如,zkClient A 连接到 zkServer X。zkClient A 发出请求将 znode "/a" 从 0 更新为 1。zkServer X 收到该请求后,将其转发给领导者。

然后领导者将这个更新提议广播给所有的 zkServer。在达到一定数量的 zkServer 提交更新请求后,更新成功。

然后zkClient A发出读取请求,获取znode“/a”的值。zkServer X 接收到这个读请求。

因此,如果 zkServer X 不在 quorum 中,并且 zkServer X 没有提交更新以赶上领导者,那么 zkClient A 仍然有可能获得 znode "/a" 的陈旧值。在这种情况下,返回值为 0。

我的理解正确吗?

4

0 回答 0