ZooKeeper 专题:核心概念、ZNode、Watcher、ZAB、集群部署、Curator 与分布式锁
约 747 字大约 2 分钟
ZooKeeper 是经典的分布式协调组件,常用于注册中心、配置管理、分布式锁、Leader 选举和集群元数据管理。学习 ZooKeeper 时,可以先掌握数据模型和 Watcher,再理解 ZAB 协议、Leader 选举和工程实践。
适合谁看
- 想系统学习 ZooKeeper 的后端开发者。
- 准备 ZooKeeper、注册中心、分布式锁、分布式协调相关面试题的同学。
- 用过 ZooKeeper 或 Curator,但对 ZNode、Watcher、ZAB、Leader 选举不够熟的读者。
- 需要对比 ZooKeeper、Eureka、Nacos 等注册中心和协调组件的工程师。
学习重点
- ZooKeeper 的数据模型为什么是树形 ZNode?
- 临时节点、有序节点、Watcher 机制分别适合解决哪些问题?
- ZooKeeper 如何通过 ZAB 协议处理消息广播、主从同步和崩溃恢复?
- 为什么 ZooKeeper 集群通常建议部署奇数个节点?
- Curator 如何简化原生 ZooKeeper 客户端开发和分布式锁实现?
建议阅读顺序
- ZooKeeper 入门指南:先理解 ZNode、Watcher、ACL 和典型应用场景。
- ZooKeeper 进阶详解:再补齐 ZAB、Leader 选举、集群部署和会话机制。
- ZooKeeper 实战教程:最后通过 Docker、zkCli、四字命令和 Curator 做实践。
核心文章
- ZooKeeper 入门指南:讲解 ZooKeeper 核心概念、ZNode 数据模型、节点类型、Watcher 监听机制、ACL 权限控制和典型应用场景。
- ZooKeeper 进阶详解:深入讲解 ZAB 协议、Leader 选举、集群部署策略、奇数节点原则、会话管理以及与 Eureka、Nacos 等注册中心的对比。
- ZooKeeper 实战教程:覆盖 Docker 安装部署、zkCli 常用命令、四字命令、Curator Java 客户端 CRUD 操作和分布式锁示例。
高频问题
- ZooKeeper 适合解决哪些分布式协调问题?
- ZNode 有哪些类型?临时顺序节点为什么常用于分布式锁?
- Watcher 为什么是一次性触发?使用时有什么注意事项?
- ZAB 协议和 Raft、Paxos 有什么关系?
- ZooKeeper 集群为什么通常部署奇数个节点?
- ZooKeeper 和 Eureka、Nacos 作为注册中心有什么区别?
- Curator 相比原生 ZooKeeper 客户端解决了哪些开发痛点?
相关专题
写在最后
如果内容对你有帮助的话,欢迎顺手给 JavaGuide 点一个免费的 Star 支持一下:GitHub | Gitee。
JavaGuide 已持续维护近七年,累计 6100+ 次提交,来自 620+ 位贡献者共同完善。你的 Star、反馈和 PR,都是这个项目继续更新的动力。
如果你正在准备后端/AI 应用开发面试,也可以了解一下我的知识星球,里面包括后端和 AI 实战项目、简历优化、一对一提问和高频考点资料,已经持续维护六年。
