Zookeeper相关博客


zookeeper用途:   http://blog.csdn.net/tycoon1988/article/details/38866395


zookeeper节点数与watch的性能测试:  http://blog.csdn.net/kevinlynx/article/details/39455869


zookeeper基本原理及适用场景 :http://blog.chinaunix.net/uid-26748613-id-4536290.html


ZooKeeper监控http://blog.csdn.net/haizhaopeng/article/details/44489635



ZooKeeper目录树中每一个节点对应一个Znode。每个Znode维护着一个属性结构,它包含着版本号(dataVersion),时间戳(ctime,mtime)等状态信息。ZooKeeper正是使用节点的这些特性来实现它的某些特定功能。每当Znode的数据改变时,他相应的版本号将会增加。每当客户端检索数据时,它将同时检索数据的版本号。并且如果一个客户端执行了某个节点的更新或删除操作,他也必须提供要被操作的数据版本号。如果所提供的数据版本号与实际不匹配,那么这个操作将会失败。

  Znode是客户端访问ZooKeeper的主要实体,它包含以下几个特征:

  (1)Watches

  客户端可以在节点上设置watch(我们称之为监视器)。当节点状态发生改变时(数据的增、删、改)将会触发watch所对应的操作。当watch被触发时,ZooKeeper将会向客户端发送且仅发送一条通知,因为watch只能被触发一次。

  (2)数据访问

  ZooKeeper中的每个节点存储的数据要被原子性的操作。也就是说读操作将获取与节点相关的所有数据,写操作也将替换掉节点的所有数据。另外,每一个节点都拥有自己的ACL(访问控制列表),这个列表规定了用户的权限,即限定了特定用户对目标节点可以执行的操作。

  (3)节点类型

ZooKeeper中的节点有两种,分别为临时节点和永久节点。节点的类型在创建时即被确定,并且不能改变。
  ZooKeeper的临时节点:该节点的生命周期依赖于创建它们的会话。一旦会话结束,临时节点将被自动删除,当然可以也可以手动删除。另外,需要注意是, ZooKeeper的临时节点不允许拥有子节点。 
  ZooKeeper的永久节点:该节点的生命周期不依赖于会话,并且只有在客户端显示执行删除操作的时候,他们才能被删除。

  (4)顺序节点(唯一性的保证)

   当创建Znode的时候,用户可以请求在ZooKeeper的路径结尾添加一个递增的计数。这个计数对于此节点的父节点来说是唯一的,它的格式为"%10d"(10位数字,没有数值的数位用0补充,例如"0000000001")。当计数值大于232-1时,计数器将溢出。

org.apache.zookeeper.CreateMode中定义了四种节点类型,分别对应:
PERSISTENT
:永久节点
EPHEMERAL
:临时节点
PERSISTENT_SEQUENTIAL
:永久节点、序列化
EPHEMERAL_SEQUENTIAL
:临时节点、序列化


---------------------------------------------------------------------------



  ZooKeeper有四种形式的目录节点,持久化节点与临时节点,自动编号节点与非自动编号节点,两两组合,分别如下:

 

       1、PERSISTENT

       持久化目录节点,存储的数据不会丢失。

 

       2、PERSISTENT_SEQUENTIAL

       顺序自动编号的持久化目录节点,存储的数据不会丢失,并且根据当前已近存在的节点数自动加 1,然后返

回给客户端已经成功创建的目录节点名。

 

       3、EPHEMERAL

        临时目录节点,一旦创建这个节点的客户端与服务器端口也就是session 超时,这种节点会被自动删除。

 

       4、EPHEMERAL_SEQUENTIAL

       临时自动编号节点,一旦创建这个节点的客户端与服务器端口也就是session 超时,这种节点会被自动删

除,并且根据当前已近存在的节点数自动加 1,然后返回给客户端已经成功创建的目录节点名。




















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值