agapple 发表于 2013-2-3 11:38:10

zookeeper学习&使用系列文章

<div style="color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; background-color: #ffffff; margin: 8px;">近段时间,因项目需要接触了下zookeeper,通过阅读源码以及项目中的使用总结,慢慢的积累了zookeeper的一系列的学习总结。
希望对大家使用zookeeper有所帮助,同时如有描述欠佳的地方尽情拍砖。
zookeeper是什么?

 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。
 
 目前zookeeper被应用于hadoop/hbase中进行节点的管理,通过zookeeper你可以很方便的开发出一些分布式控制的工具,比如分布式lock, barrier,countDown , Semaphore等,甚至有人使用zookeeper开发了一个分布式Collections。 
 
我项目中使用的情况:

主要是用于解决数据库的数据同步, 通过过程的E.T.L工作节点均使用集群化处理,整个集群的调度通过zookeeper进行管理,比如同步流程的启动,关闭,挂起等,有点带流式计算的味道。

几个技术点:
 1. 分布式lock, 解决Load时为保证源库的事务变更顺序,需要做一个串行录入
 2. 优先集群, 利用zookeeper的observer解决中美机房网络延迟的影响。美国部署observer,中国部署leader/follower
 3. zookeeper watcher,ETL节点的流转通过node的watcher进行通知
 
 
文章列表:

 

[*]zookeeper学习记录 
[*]zookeeper学习记录(二) 
[*]zookeeper学习记录三(session,watcher,persit机制)


[*]zookeeper项目使用几点小结


[*]基于zookeeper的分布式lock实现


页: [1]
查看完整版本: zookeeper学习&使用系列文章