介绍
zookeeper存储数据结构 类似 unix(linux)文件系统
如下图:
蓝色为znode,绿色是znode的数据
znode
类似与unix(linux)文件系统,每个节点(如 NameService)被称为 znode(目录节点),能够自由的增加、删除znode,在一个znode下增加、删除子znode
与文件系统不同的是,这些节点都可以设置 关联的数据
Zookeeper为了保证 高吞吐 和 低延迟,在内存中维护了这个树状的目录结构,这种特性使得Zookeeper不能用于存放大量的数据,每个节点默认最多存放 1M数据
有四种类型的znode
PERSISTENT-持久化目录节点
客户端创建的节点,当客户端与zookeeper断开连接后,该节点依旧存在EPHEMERAL-临时目录节点
客户端创建的节点,客户端与zookeeper断开连接后,该节点被删除PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点
客户端创建节点后,Zookeeper给该节点名称进行顺序编号,并且客户端与zookeeper断开连接后,该节点依旧存在EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点
客户端创建节点后,Zookeeper给该节点名称进行顺序编号,并且客户端与zookeeper断开连接后,该节点会被删除
顺序编号
创建znode时设置顺序编号,znode名称后会附加顺序号,该顺序号是递增的,由父节点维护
应用场景:节点名字不能同名,当创建同名节点时,可用 顺序编号节点
