Zookeeper_的特性

来源:互联网 发布:马蓉面相 知乎 编辑:程序博客网 时间:2024/06/14 11:18

1、数据模型

      Zookeeper的数据模型和文件系统类似,每一个节点称为znode,是zookeepper的最小数据单元,每一个znode上都可以保存数据和挂载节点,

       从而构成一个层次化的属性结构:

        1)  持久化节点 :节点创建后会一直存在Zookeeper的服务器上,知道主动进行删除

        2) 持久化有序节点:  每个节点都会为他的一级子节点维护一个顺序

        3) 临时节点 : 临时节点的生命周期和客户端的会话保持一致,当客户端的会话失效,该节点自动清理

                                (但是我们进行删除操作后立即看数据还会存在一段时间,重试机制)

       4) 临时有序节点:在临时节点增加有序特性

2、会话机制

       会经历的过程: NOT_CONNECTED   CONNECTING   CONNECTED   CLOSED

3、常用命令;

       1、创建节点 : create [-s] [-e] path data acl 

           -s 表示节点是否有序

           -e 表示节点为临时节点,默认情况下会创建持久化节点 

       2、获取节点数据:get path [watch]

       3、设置节点数据:set path data [version]

       4、删除节点:delete path [version]  

4、stat 信息说明:

       cversion = 0       子节点的版本号

       aclVersion = 0    acl的版本号,修改节点权限

       dataVersion = 1  表示单签节点数据的版本号

  

       czxid =  2            节点被临时创建时的事务ID

       mzxid                  节点最后一次被更新的事务ID

       pzxid                   当前节点下的子节点最后一次被修改时的事务ID


        ctime                  创建时间 

        mtime                 修改时间

 

        ephemeralOwner  创建临时节点时候的一个sessionId(不是临时节点时:0x0)


        dataLength        数据长度

        numChildren     子节点数


5、[version] 是乐观索,类似于数据库的乐观索的数据控制版本号


6、Watcher:Zookeeper提供了分布式数据发布、订阅,允许客户端向服务器注册一个watcher监听。当服务器端的节点触发指定事件的时候触发Watcher,

                       服务器端会想客户端发送一个事件通知,但是,watcher的通知是一次性的,一旦触发通知后watcher就失效

7、ACL:Zookeeper提供了控制节点访问控制的功能,用于有效的保证zookeeper的数据的安全性,避免误操作导致,,,

                 操作权限有:CREATE  READ  WRITE  DELETE  ADMIN

     




原创粉丝点击