zookeeper学习记录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zookeeper学习记录相关的知识,希望对你有一定的参考价值。
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学习记录的主要内容,如果未能解决你的问题,请参考以下文章
[博学谷学习记录] 超强总结,用心分享 | Zookeeper
zookeeper学习03(定义,工作机制,功能,数据结构,应用场景,选举机制)