zk大半数节点ack后就commit的疑问
因为zookeeper的leader在得到大半数节点的ack后就会通知节点commit,然后返回给客户端。如果此时少半数的节点还没有commit并且客户端在接到集群的commit之后访问到了少半数节点岂不是没有读到最新的数据吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对啊,你直接读 Zookeeper 确实可能会脏读。
所以推荐的方式是 Watch,而非直接读。
zk不保证强一致性,保证最终一致性,zk对读进一步保证了单调一致性。