- curator-client 是最基础的项目,用来作 zk 的客户端操作
- curator-framework 是基于 client 做了一系列的针对 zk 的可用封装
- curator-recipes 则是基于 framework,使用已有的 zk 操作实现各种分布式工具
- curator-test 维护了一个可用于测试的 zk 客户端
- curator-x-async 基于 framework 做了一系列异步接口封装
- 其余暂不表
主旨是从下至上阅读整个项目代码,主抓核心流程。
先从 client 和 test 看起,理解 zk client 的操作流程及封装。
- 经典代码段标记
阅读代码就是为了学习好的**,遇到好的代码,可以标记下来,方便后续观看整理
[@@ name] 这样的规范放置到指定代码块位置
如 [@@ nick] 放到指定 java 文件内的目标代码段附近
后续会导出这些文件和对应的行号
- 需要对项目文件进行注释,用来展示当前的进度
[$0 name time] 这样的规范来表示一个文件的阅读进度
$
0 表示标记下一步要看
1 表示正在进行中
2 表示大部分完成,任有小部分收尾
3 表示文件阅读结束
name
标记阅读者,多个阅读者用 | 分割,使用英文 name,如 nickChen|cx 来表示两个读者
time
用 yyyy-MM-dd 的形式表示
标记的位置应在 class 声明上一行,如:
//[$3 nick 2018-07-25]
class Demo {
...
}
根据根项目下的 src/main/java/com/nickchen/util/ProcessTree.java
可以导出当前文件的阅读状态。
Apache Curator is a Java/JVM client library for Apache ZooKeeper[1], a distributed coordination service.
Apache Curator includes a high-level API framework and utilities to make using Apache ZooKeeper much easier and more reliable. It also includes recipes for common use cases and extensions such as service discovery and a Java 8 asynchronous DSL. For more details, please visit the project website: http://curator.apache.org/
[1] Apache ZooKeeper https://zookeeper.apache.org/