`

zookeeper应用场景-总结脑图

 
阅读更多

 

 

如下应用场景中,想想是用到了zookeeper的哪些特点:

 

1 分布式FIFO

zk-FIFO简介 编辑

 

2 同步队列

 

当一个队列的成员都聚齐时,这个队列才可用,否则一直等待所有成员到达,这种是同步队列。
例如:远程会议,所有人到齐了,才开始

 

 

同步队列初始化
创建一个父目录 /synchronizing,代表同步队列
进入队列
创建子节点 /synchronizing/member_i
查人数
人齐了(子节点个数=参会人员个数)
创建 /synchronizing/start,开始开会
/synchronizing/start 节点一旦创建就证明人到齐了
人不齐
等待 /synchronizing/start 的出现

 

 

 

3 共享锁

 

 这个共享锁中,对于锁的持有是按照FIFO方式来获取的,公平方式获取锁,不是竞争方式获取, 和ZK的FIFO很相似。

 

创建锁
创建一个父节点/locks 代表同步锁
每个进程启动的同时在/locks下面建立子节点/locks/member_i,并且保存自己的IP地址
获得锁
查找/locks下子节点编号最小的哪一个,查看数据是否为自己的IP地址,如果是的话,就代表获得锁,否则继续等待
释放锁
执行完业务操作,把自己创建的节点删除,就代表释放锁

  

 

 

4 集群管理: 利用zk的临时节点

 



 

 

 

5 配置管理

 

对多个进程使用的同一个文件提供名称,内容为zk节点的数据,

类比于网络中域名baidu, baidu后背对应一堆IP服务器地址,当A地址访问不到访问B

 



 

 

 配置管理中,关于 flume+zookeeper的应用如下:

Flume supports Agent configurations via Zookeeper. This is an experimental feature. The configuration file needs to be uploaded in the Zookeeper, under a configurable prefix. The configuration file is stored in Zookeeper Node data. Following is how the Zookeeper Node tree would look like for agents a1 and a2

- /flume
 |- /a1 [Agent config file]
 |- /a2 [Agent config file]

 

应用场景参考链接:  http://wenku.baidu.com/view/b2f6fb4be518964bcf847c1e.html  百度文库

 

 

 

 

zk总结脑图:

 



 

 

  • 大小: 30 KB
  • 大小: 55.5 KB
  • 大小: 45.3 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics