假设我是一个zookeeper客户端,在持有锁(InterProcessMutex)的同时创建/更新/删除一些zookeeper(持久性)节点。是否保证在我发布后获得相同锁定的另一个客户端会看到我的修改?
我认为答案是肯定的,因为每个zookeeper服务器上的节点更新后都会发生锁定释放,但任何人都可以确认这个假设吗?
答案 0 :(得分:2)
让我们一起来看看(使用客户端A和B):
在步骤5,B保证看到在A的锁定节点被删除之前发生的所有修改,因为ZooKeeper保证消息排序。所以,你的问题的答案是肯定的。