Zookeeper的数据模型
- zookeeper 是一个分布式协调框架,其维护了一个树形的数据模型,主要包含下面几个方面:
- 树形结构:zookeeper的数据模型是一个树形结构,类似于一个文件系统,每一个节点都拥有自己的路径,节点之间使用“/”隔开
- 数据节点:可以作为目录或者存储数据,其拥有四种数据类型,持久节点,临时节点,持久顺序节点,临时顺序节点
- 事件监听:watcher可以监听节点发生的事件并且通知客户端
- 权限:ACL控制着zookeeper的节点及节点的下级目录访问权限
- 版本号:每个节点都拥有数据版本号和ACL版本号,当数据或ACL发生变更,版本号则自增
Zookeeper的四种数据节点
- 持久节点:客户端创建后则一直存在,除非主动删除
- 临时节点:其存在状态依赖客户端和服务端的会话(session),若会话介绍,则删除
- 持久顺序节点:是一种持久节点,增加了一些特性,创建的节点时,zookeeper服务端会主动为节点生成一个顺序号,顺序号基于节点创建的顺序,主要解决了分布式环境下的排序问题
- 临时顺序节点:是一种临时节点,其余同上
Zookeeper的命名空间
- Zookeeper的命名空间是一个树形结构的数据结构,每个节点都有一个名称和数据项。节点名称必须是唯一的,并且以斜杆“/”开头。每个数据节点都有关联的数据项,其数据项可以是任意的数据类型