码迷,mamicode.com
首页 > 其他好文 > 详细

zookeeper学习记录

时间:2016-02-05 01:52:28      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

ZooKeeper:一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件,与之对应的Google的类似服务叫Chubby

Zookeeper数据模型结构与Unix文件系统很类似,是一个树状层次结构。每个节点叫做Znode,节点可以拥有子节点,同时允许将少量数据存储在该节点下。客户端可以通过监听节点的数据变更和子节点变更来实时获取Znode的变更(Wather机制)

zookeeper有很多应用场景,例如数据发布与订阅、命名服务、负载均衡、分布式队列等。

数据发布与订阅:应用在启动的时候会主动来获取一次配置,同时,在节点上注册一个Watcher,这样一来,以后每次配置有更新的时候,都会实时通知到订阅的客户端,从来达到获取最新配置信息的目的。

 命名服务:阿里的架Dubbo中使用ZooKeeper来作为其命名服务,维护全局的服务地址列表。服务提供者在启动的时候,向ZK上的指定节点/dubbo/${serviceName}/providers目录下写入自己的URL地址,这个操作就完成了服务的发布。服务消费者启动的时候,订阅/dubbo/${serviceName}/providers目录下的提供者URL地址, 并向/dubbo/${serviceName} /consumers目录下写入自己的URL地址。所有向ZK上注册的地址都是临时节点,这样就能够保证服务提供者和消费者能够自动感应资源的变化。

分布式通知:ZooKeeper中特有watcher注册与异步通知机制,能够很好的实现分布式环境下不同系统之间的通知与协调,实现对数据变更的实时处理。使用方法通常是不同系统都对ZK上同一个znode进行注册,监听znode的变化(包括znode本身内容及子节点的),其中一个系统update了znode,那么另一个系统能够收到通知,并作出相应处理。

http://www.techweb.com.cn/network/hardware/2015-12-25/2246973.shtml

zookeeper学习记录

标签:

原文地址:http://www.cnblogs.com/mingziday/p/5182550.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!