Zookeeper中的时间及节点属性_第1页
Zookeeper中的时间及节点属性_第2页
Zookeeper中的时间及节点属性_第3页
Zookeeper中的时间及节点属性_第4页
Zookeeper中的时间及节点属性_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Zookeeper中的时间及节点属性学习目标2知识目标●ZooKeeper中的时间●版本号的作用●ZooKeeper节点属性能力目标●了解ZooKeeper中的时间●了解版本号的作用●了解ZooKeeper节点属性学习任务3初步探索ZooKeeper中的时间初步探索版本号初步探索版本号的作用初步探索ZooKeeper节点属性ZooKeeper中的时间版本号的作用4目录ZooKeeper节点属性ZooKeeper中的时间5ZooKeeper有多种记录时间的形式,其中包含以下几个主要属性:1.Zxid致使ZooKeeper节点状态改变的每一个操作都将使节点接收到一个Zxid格式的时间戳,并且这个时间戳全局有序。也就是说,也就是说,每个对节点的改变都将产生一个唯一的Zxid。如果Zxid1的值小于Zxid2的值,那么Zxid1所对应的事件发生在Zxid2所对应的事件之前。实际上,ZooKeeper的每个节点维护者三个Zxid值,为别为:cZxid、mZxid、pZxid。ZooKeeper中的时间6ZooKeeper有多种记录时间的形式,其中包含以下几个主要属性:1.Zxid(1)cZxid:是节点的创建时间所对应的Zxid格式时间戳。(2)mZxid:是节点的修改时间所对应的Zxid格式时间戳。(3)pZxid:是与该节点的子节点(或该节点)的最近一次创建/删除的时间戳对应。ZooKeeper中的时间7ZooKeeper有多种记录时间的形式,其中包含以下几个主要属性:1.Zxid实现中Zxid是一个64为的数字,它高32位是epoch用来标识leader关系是否改变,每次一个leader被选出来,它都会有一个新的epoch。低32位是个递增计数。ZooKeeper中的时间8ZooKeeper有多种记录时间的形式,其中包含以下几个主要属性:2.版本号对节点的每一个操作都将致使这个节点的版本号增加。每个节点维护着三个版本号,他们分别为:(1)version:节点数据版本号(2)cversion:子节点版本号(3)aversion:节点所拥有的ACL版本号ZooKeeper中的时间9ZooKeeper有多种记录时间的形式,其中包含以下几个主要属性:2.版本号版本号的作用10Zookeeper里面的版本号和我们理解的版本号不同,它表示的是对数据节点的内容、子节点列表或者ACL信息的修改次数。节点创建时dataversion、aclversion,cversion都为0,每次修改响应内容其对应的版本号加1。这个版本号的用途就和分布式场景的一个锁概念有关。比如演出售票中的一个座位,显然每个场次中的每个座位都只有一个,不可能卖出2次。如果A下单的时候显示可售,他想买,那么为了保证他可以下单成功,此时别人就不能买。这时候就需要有一种机制来保证同一时刻只能有一个人去修改该座位的库存。这就用到了锁。锁有悲观锁和乐观锁。版本号的作用11悲观锁:它会假定所有不同事务的处理一定会出现干扰,数据库中最严格的并发控制策略,如果一个事务A正在对数据处理,那么在整个事务过程中,其他事务都无法对这个数据进行更新操作,直到A事务释放了这个锁。乐观锁:它假定所有不同事务的处理不一定会出现干扰,所以在大部分操作里不许加锁,但是既然是并发就有出现干扰的可能,如何解决冲突就是一个问题。在乐观锁中当你在提交更新请求之前,你要先去检查你读取这个数据之后该数据是否发生了变化,如果有那么你此次的提交就要放弃,如果没有就可以提交。版本号的作用12Zookeeper中的版本号就是乐观锁,你修改节点数据之前会读取这个数据并记录该数据版本号,当你需要更新时会携带这个版本号去提交,如果你此时携带的版本号(就是你上次读取出来的)和当前节点的版本号相同则说明该数据没有被修改过,那么你的提交就会成功,如果提交失败说明该数据在你读取之后和提交之前这段时间内被修改了。ZooKeeper节点属性13通过前面的介绍,我们可以了解到,一个节点自身拥有表示其状态的许多重要属性,如下表所示。ZooKeeper节点属性14cZxid创建节点时的事务IDctime创建节点时的时间mZxid最后修改节点时的事务IDmtime最后修改节点时的时间pZxid表示该节点的子节点列表最后一次修改的事务ID,添加子节点或删除子节点就会影响子节点列表,但是修改子节点的数据内容则不影响该IDcversion子节点版本号,子节点每次修改版本号加1datav

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论