【发布时间】:2017-10-06 16:52:02
【问题描述】:
假设我是一个 Zookeeper 客户端,在持有锁 (InterProcessMutex) 的同时创建/更新/删除一些 zookeeper(持久)节点。是否保证在我释放后获得相同锁的另一个客户端会看到我的修改?
我假设答案是肯定的,因为每个 zookeeper 服务器上的节点更新后都会释放锁,但是任何人都可以确认这个假设吗?
【问题讨论】:
标签: apache-zookeeper apache-curator
假设我是一个 Zookeeper 客户端,在持有锁 (InterProcessMutex) 的同时创建/更新/删除一些 zookeeper(持久)节点。是否保证在我释放后获得相同锁的另一个客户端会看到我的修改?
我假设答案是肯定的,因为每个 zookeeper 服务器上的节点更新后都会释放锁,但是任何人都可以确认这个假设吗?
【问题讨论】:
标签: apache-zookeeper apache-curator
让我们看一下(使用客户端 A 和 B):
在步骤 5 B 保证看到在 A 的锁节点被删除之前发生的所有修改,因为 ZooKeeper 保证消息排序。所以,你的问题的答案是肯定的。
【讨论】: