`
丁树同
  • 浏览: 9129 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

2)The structure of znode

 
阅读更多

 1) the Stat structure of znode

 

在zookeeper的数据模型中,每个数据节点称为znode. 每个znode维护一个Stat structure.这个Stat structure 由下面几个属性构成:

·czxid

         每一次对zookeeper znode做的更新都会对应唯一transactionID,这个id称为zxid.由于zxid是递增的,所以它实际上表示对zookeeper更新的一种顺序。例如zxid1 小于 zxid2 那么zxid1对应的操作在zxid2对应的操作之前发生。

         Czxid表示znode创建时对应的zxid.

·mzxid

         最近一次对znode更新所对应的zxid.

·ctime

         Zookeeper不使用realtime和clocktime ,除了用时间戳来标示znode创建和修改的时间。Ctime是创建znode的时间戳。

·mtime

         对Znode修改的时间戳。

·version

         每一次对znode更新都会引起版本号的增加。Version标示与该znode关联的数据更新的版本号。

·cversion

         该节点的子节点更新的版本号。

·aversion

         ACL(Access Control List)访问控制列表更新的版本号。

·ephemeralOwner

         如果该节点的类型是ephemeral,那么该节点的ephemeralOwner就是创建该节点的client的session id。如果该节点不是ephemeral的,那么该节点的ephemeralOwner就是0.

·dataLength

         与该节点关联的数据的长度。

·numChildren

         该节点的子节点数目。

 

2) The type of znode

 

在zookeeper中创建znode的类型有两种,ephemeral和persistent.

·ephemeral

          该类型的节点与session是同生命周期的。Session创建该节点之后,该节点就是活着的,当session结束之后zookeeper就会清理掉该节点。所以该类型的节点不能有子节点。

·persistent 

          该类型的节点不和session绑定,显示的创建,显示的删除。否则该节点一直存在。

·sequence

          节点,sequence节点既可以是ephemeral的,也可以是persistent的。在创建节点时,zookeeper会在路径的后面添加递增的序列号。该序列号最大为2147483647(4bytes—signed int).-->这是zookeeper实现分布式锁的关键。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics