1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

Update ZooKeeper.md

This commit is contained in:
SnailClimb 2018-12-06 22:19:44 +08:00 committed by GitHub
parent 8435089364
commit 9498c43e7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -74,11 +74,11 @@ Session 指的是 ZooKeeper 服务器与客户端会话。**在 ZooKeeper 中
Zookeeper将所有数据存储在内存中数据模型是一棵树Znode Tree),由斜杠(/的进行分割的路径就是一个Znode例如/foo/path1。每个上都会保存自己的数据内容同时还会保存一系列属性信息。 Zookeeper将所有数据存储在内存中数据模型是一棵树Znode Tree),由斜杠(/的进行分割的路径就是一个Znode例如/foo/path1。每个上都会保存自己的数据内容同时还会保存一系列属性信息。
**在Zookeeper中node可以分为持久节点和临时节点两类。所谓持久节点是指一旦这个ZNode被创建了除非主动进行ZNode的移除操作否则这个ZNode将一直保存在Zookeeper上。而临时节点就不一样了它的生命周期和客户端会话绑定一旦客户端会话失效那么这个客户端创建的所有临时节点都会被移除。**另外ZooKeeper还允许用户为每个节点添加一个特殊的属性**SEQUENTIAL**.一旦节点被标记上这个属性那么在这个节点被创建的时候Zookeeper会自动在其节点名后面追加上一个整型数字这个整型数字是一个由父节点维护的自增数字。 **在Zookeeper中node可以分为持久节点和临时节点两类。所谓持久节点是指一旦这个ZNode被创建了除非主动进行ZNode的移除操作否则这个ZNode将一直保存在Zookeeper上。而临时节点就不一样了它的生命周期和客户端会话绑定一旦客户端会话失效那么这个客户端创建的所有临时节点都会被移除。** 另外ZooKeeper还允许用户为每个节点添加一个特殊的属性**SEQUENTIAL**.一旦节点被标记上这个属性那么在这个节点被创建的时候Zookeeper会自动在其节点名后面追加上一个整型数字这个整型数字是一个由父节点维护的自增数字。
### 2.4 版本 ### 2.4 版本
在前面我们已经提到Zookeeper 的每个 ZNode 上都会存储数据对应于每个ZNodeZookeeper 都会为其维护一个叫作 **Stat** 的数据结构Stat中记录了这个 ZNode 的三个数据版本分别是version当前ZNode的版本、cversion当前ZNode子节点的版本cversion当前ZNode的ACL版本 在前面我们已经提到Zookeeper 的每个 ZNode 上都会存储数据对应于每个ZNodeZookeeper 都会为其维护一个叫作 **Stat** 的数据结构Stat 中记录了这个 ZNode 的三个数据版本分别是version当前ZNode的版本、cversion当前ZNode子节点的版本aversion当前ZNode的ACL版本
### 2.5 Watcher ### 2.5 Watcher