zookeeper学习

 

可以把zookeeper看做是一个分布式文件系统,客户端通过文件系统进行同步。

她有顺序一致性,原子性,单一系统映像,持久性,及时性等特征。

可以实现集中化配置、通过使用顺序znode实现分布式锁,分布式队列,屏障和两阶段提交协议。

http://www.kuqin.com/system-analysis/20111120/315148.html

http://zookeeper.apache.org/doc/trunk/zookeeperOver.pdf

http://highscalability.com/blog/2008/7/15/zookeeper-a-reliable-scalable-distributed-coordination-syste.html

http://www.searchtb.com/2011/01/zookeeper-research.html

很不错的博客

http://agapple.iteye.com/blog/1111377

关于leader的选举机制,使用了类paxos算法,源代码makeLEStrategy().lookForLeader()(其中LE为paxos的作者Leslie Lamport)

http://topic.csdn.net/u/20111117/14/388855b1-4531-4dcc-b55c-92b9f637262b.html

非常非常帅气的例子,故事形式

http://www.spnguru.com/2010/08/zookeeper%E5%85%A8%E8%A7%A3%E6%9E%90%E2%80%94%E2%80%94paxos%E7%9A%84%E7%81%B5%E9%AD%82/

淘宝的leader选举解析,个人觉得是最好的版本

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

算法运行

http://blog.csdn.net/lovingprince/article/details/6838187

http://www.batacn.com/?p=44

zookeeper使用场景

http://rdc.taobao.com/team/jm/archives/1232

http://wenku.baidu.com/view/96bbc520af45b307e87197d0.html

http://www.hadoopor.com/thread-429-1-1.html

自己通过看代码分析leader选举过程:

QuorumPeer也就是仲裁协议类paxos的实现体。

结合选举线程(即proposal)org.apache.zookeeper.server.quorum.QuorumPeer.run()和响应线程(即acceptor)org.apache.zookeeper.server.quorum.QuorumPeer.ResponderThread.run()

 

分布式锁的优化,羊群效应

http://rdc.taobao.com/team/jm/archives/2554

源码学习方法,到这个网站直接下载jar和source

http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22zookeeper%22

然后用maven eclipse之,就可以看到完整源码了,而且是最新版本的哦,极力推荐

你可能感兴趣的:(zookeeper,分布式)