1
在寻找zookeeper时,接受的答案表示不允许并发写入。
Explaining Apache ZooKeeper使用异步API在Zookeeper中创建节点
现在我的问题是Zookeeper具有线性写入,这不会阻止我使用异步API创建节点并在回调中采取响应?虽然内部可能不允许同时写入,或者我错过了什么?
在寻找zookeeper时,接受的答案表示不允许并发写入。
Explaining Apache ZooKeeper使用异步API在Zookeeper中创建节点
现在我的问题是Zookeeper具有线性写入,这不会阻止我使用异步API创建节点并在回调中采取响应?虽然内部可能不允许同时写入,或者我错过了什么?
即使动物园管理员在合奏中操作,写作总是通过领导来完成。因此,领导者能够排队写入请求并按顺序完成它们。
使用异步API不会对上述方法造成任何损害。即使写入请求是异步的(从客户端),领导者也会始终确保它们是按顺序提供的。一旦提供异步写请求,客户端将通过回调通知。这很简单。请记住,请求是异步的,由客户端查看。但从领导者的角度来看,他们是顺序送达的。
除了这个问题,它是否也适用于阅读? – jdk2588
编号读取可以由集合中的任何节点提供。由于写入只有在领导者承诺后才可见,这不会成为问题。 –
那么,它不是一致性强,因为客户端可能会读取陈旧的值? – jdk2588