Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

从 CAP 角度看,ZooKeeper 如何处理网络分区?

查看完整题解

参考回答

直接回答

网络分区后,缺少法定票数的一边会停止提交写入。这样可以防止两边各自确认互相冲突的改动。这就是通常说 ZooKeeper 在分区时偏向 CP 的原因。

讲清原理

写入保持同一份有序历史。普通本机读取允许暂时读旧值,不能凭 CP 标签推导出所有读都是线性一致。若额外启用了只读模式,客户端也必须理解读取旧状态的边界。

例子与易错点

五票分成 3 与 2,在三票侧可以继续提交。只被困在两票侧的客户端不能要求这边独立成功写入。

延伸阅读 ZooKeeper 保证的读写一致性分别是什么? · ZooKeeper 里的脑裂指什么? · ZooKeeper 怎么防止两边同时提交?

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。