zookeeper编程指导-编程开发技术

zookeeper编程指导-编程开发技术

ID:30795322

大小:175.48 KB

页数:9页

时间:2019-01-03

zookeeper编程指导-编程开发技术_第1页
zookeeper编程指导-编程开发技术_第2页
zookeeper编程指导-编程开发技术_第3页
zookeeper编程指导-编程开发技术_第4页
zookeeper编程指导-编程开发技术_第5页
资源描述:

《zookeeper编程指导-编程开发技术》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、ZooKccpcr编程指导-编程开发技术ZooKeeper编程指导原文出处:zivyu简介对于想要利用ZooKeeper的协调服务来创建一个分布式应用的开发人员来说,这篇文章提供了指导。包含了一些概念和实际性操作的信息。这篇文章的前四个章节介绍了各种ZooKeeper的概念,这对理解ZooKeeper是怎么工作的是必须的。没有包含源代码,但是它假设你对分布式处理冇关的问题比较熟悉。这四个章节是:•ZooKeeper数据模型•ZooKeeper会话•ZooKeeperWatches•一致性保证随后的四个章节提供了实

2、际的编程信息,他们是:•构建块:ZooKeeper操作指南•绑定•程序结构,简单的例子•陷阱:常见问题和故障排查ZooKeeper数据模型ZooKeeper有一个层级命名空间,和一个分布式文件系统非常和似。唯一的不同是每个节点可以有关联的数据,子节点也是。就像有一个文件系统并且允许文件是一个目录。一个规范的、绝对的、斜杠分隔的路径来表示一个节点路径,没有相对路径。任何符合下列约束的的unicode字符可以被使用:•null字符串(u0000)不能是一-个路径名称。•下列字符不能被使用,因为不能很好的被展示:u

3、0001-u001F和u007F-u009Fo•下列字符是不允许的:ud800-uF8FF,uFFF0-uFFFFo•字符可以作为另一个名字被使用,但是和不能单独使用来表示一个节点路径,因为ZooKccpcr不使用相对路径,下列是无效的:’7a/b/./c”或者?“/a/b/../c”。•“zookeeper"标记被保留。ZNodes在ZooKeeper树屮的每个节点被称为一个znodcQZnodcs包含了一个stat数据结构,这个数据结构包括了数据变更的版本号、acl变更。stat数据结构也冇时间戳,

4、版本号和时间戳一起来允许ZooKeeper校验缓存和协调更新。毎当一个znode的数据改变,版木号就会增加。例如:当一个客户端取得数据,它同样也接受数据的版本。并且,当一个客户端执行一个更新或删除操作,它必须提供数据的版木号。如果客户端提供的的版本号和实际的版本号不匹配,更新操作将会失败。注意在分布式应用应用中,node一词可以用來表示一台主机、一个服务器、集中中的一个、一个客户端进程等等。早ZooKeeper这边文档中,znodes?表示一个数据节点,Scrvcrs<

5、/cm>表示组成ZooKccpcr服务屮的机器,quorum?peers表示组成集合的机器,客户端表示使用一个ZooKeeper服务的主机或进程。Znodes是-•个程序员访问的主要实体,有许多在这里值得提到特性:Watches客户端可以在znodcs上设置监听器,znode的改变触发这个监听器然后清空这个监听器。当一个监听器被触发,ZooKeeper发送给客户端一个通知。更多信息可以查看ZooKeeperWatches章节。数据访问每个znode的上存储的数据读写都是原子的,读操作取出所有的和

6、这个znode有关的所有数据,写操作替换所有的数据。每个节点有一个访问权限列表(ACL)来限制谁可以做这些事情。ZooKeeper没有被设计成一个一般的数据库或一个大型对象存储。它管理协调数据,数据可以是配置、状态信息、集合点等的形式。各种各样的数据有一个共同的属性就是他们都很小:以千字节为标准。ZooKeeper客户端和服务器有一个健康检杳来确保znodcs的数据少于1M,但是数据平均应该更小。操作较大的数据将导致一些操作花费更多的时间,并且会影响一些操作的延迟,因为在网络和存储媒介中移动更多的数据将需要额外的

7、时间。如果需要存储大数据,通常的处理是把数据存储在一个大容量存储系统中,并把存储位置的指针存储到ZooKeeper±0临时节点ZooKeeper也临时节点的概念。这些znodes存活的时间和创建这个节点的会话有效期是一样的。当会话结束,节点被删除。因为这种临时节点的特性,临时节点不允许有子节点。顺序节点——唯一名称当创建一个节点的时候,也可以请求ZooKceper在路径后面增加一个门增的计数器。对父节点来说,这个计数器是唯一的。计数器是%010d的格式一一是一个十位数,比如:0000000001o查看

8、QueueRecipe使用这个特性的示例,注意:这个计数器用来存储下一个序列号是一个4字节的数,当增加到2147483647之后,计数器会溢出。ZooKeeper中的时间ZooKeeper以多种方式跟踪时间:•Zxid:ZooKeeper状态的每次变化都接收一个zxid6ZooKeeper事务id)形式的标记。这个展示了所有的ZooKeeper的变更顺序。每次变更会有一个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。