目录

​​一、什么是Zookeeper​​

​​二、 Zookeeper 存储结构​​

​​ 1 Znode​​

​​2  Znode 节点类型​​

​​三、监听通知机制​​


一、什么是Zookeeper

           Zookeeper官网:​​Zookeeper官网http://zookeeper.apache.org/​

           Zookeeper 是 Apache 的一个分布式服务框架,是 Apache Hadoop 的一个子项目。

官方文档上这么解释 Zookeeper,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。

简单来说 :zookeeper=文件系统+监听通知机制。

二、 Zookeeper 存储结构

              

Zookeeper系列 (一)_服务器

 1 Znode

       在 Zookeeper 中,znode 是一个跟 Unix 文件系统路径相似的节点,可以向节点存储
数据或者获取数据。
         Zookeeper 底层是一套数据结构。这个存储结构是一个树形结构,其上的每一个节点,
我们称之为“znode”
       Zookeeper 中的数据是按照“树”结构进行存储的。而且 znode 节点还分为 4 中不同
的类型。
       每一个 znode 默认能够存储 1MB 的数据(对于记录状态性质的数据来说,够了)
可以使用 zkCli 命令,登录到 Zookeeper 上,并通过 ls、create、delete、get、set
等命令操作这些 znode 节点。

2  Znode 节点类型

2.1 PERSISTENT-持久化目录节点
      客户端与 zookeeper 断开连接后,该节点依旧存在。
2.2 PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点
      客户端与 zookeeper 断开连接后,该节点依旧存在,只是 Zookeeper 给该节点名称进行
顺序编号。
2.3 EPHEMERAL-临时目录节点
      客户端与 zookeeper 断开连接后,该节点被删除。
2.4 EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点
      客户端与 zookeeper 断开连接后,该节点被删除,只是 Zookeeper 给该节点名称进行顺
序编号。

三、监听通知机制

       Zookeeper 是使用观察者设计模式来设计的。当客户端注册监听它关心的目录节点时,
当目录节点发生变化(数据改变、被删除、子目录节点增加删除)时,Zookeeper 会通知客
户端。