zookeeper介绍

本文只是简单介绍zookeeper,做一个备忘。具体的详细介绍可以自己看代码。另外http://agapple.iteye.com/的博客里也有详细的学习记录。

 

 

什么是zookeeper

Zookeeperhadoop社区的一款开源框架,用来解决分布式环境下的一致性问题。

类似于googlechubby系统的实现。关于chubby可以阅读google的论文:

http://wenku.baidu.com/view/472d27a0284ac850ad0242ee.htmlgooglebigtable论文为了解决分布式系统中master节点唯一性的问题,就采用了chubby的解决方案。在bigtable的变种hbase中也采用了类似解决方案,也就是zookeeper.关于bigtable的论文可以阅读:

http://wenku.baidu.com/view/4967070e76c66137ee061993.html

Zookeeper实现

Paxos主要是对Paxos算法做了一个实现,淘宝的人已经有了总结:http://rdc.taobao.com/blog/cs/?p=162

然后我们来看看zookeeper实现那些特点。

1.       树形目录文件结构

从图中可以看出,整个集群维护这么一份树状结构。

2.       配置推送

客户端可以通过注册的方式向服务端注册一个watch,假如服务端事件发生,则会通知客户端回调watch的逻辑, 每一种按同步还是异步,添加指定watcher还是默认watcher又分为4种。默认watcher可以在ZooKeeper zk = new ZooKeeper(serverList, sessionTimeout, watcher)中进行指定。如果包含boolean watch的读方法传入true则将默认watcher注册为所关注事件的watch。如果传入false则不注册任何watch

3.       通过选举仲裁集群成员的集群管理策略

这块可以阅读:

http://rdc.taobao.com/blog/cs/?p=162

 

还能用来做什么?

在单机环境下产生的锁问题,以及临界区代码的一致性问题,到了分布式环境下这么解决呢?这个时候就可以利用zookeeper了。

例如分布式的队列,锁,Barrier等等

官方就提供好几个例子供大家查阅:

http://zookeeper.apache.org/doc/r3.3.2/recipes.html#sc_doubleBarriers 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值