zookeeper是一個高可用的分布式資料管理與系統協調架構。保證了分布式環境中資料的強一緻性,也正是基于這樣的特性,使得zookeeper解決很多分布式問題。
有人認為zookeeper之于分布式的意義正如同lex/yacc之于編譯的意義。我們知道lex/yacc是一套強大的文法編譯工具。使用lex/yacc可以很輕松的完成許多文法規則的編寫。同樣道理,zookeeper作為一個分布式的資料管理和協調架構,沒有它依然可以做分布式,但是有了它,你的分布式會更輕松。
本系列文章主要是從學習的角度對zookeeper常用的場景進行實踐,進而更好的了解和掌握zookeeper。
下面是學習過程中收集到的一些資料
<a target="_blank" href="http://www.coder4.com/archives/3856">zookeeper典型應用場景</a>
<a target="_blank" href="http://www.cnblogs.com/haippy/archive/2013/02/21/2920280.html">zookeeper安裝和c語言api庫指南</a>
<a target="_blank" href="http://blog.csdn.net/xiaolang85/article/details/13021339">zookeeper常用指令</a>
如果之前沒有接觸過zookeeper的話,建議還是先看看上面這些部落格,有了大緻的了解然後在來看這個系列的學習筆記。
網上的一些實踐的代碼通常都是java的,本系列則是利用zookeeper的c語言api完成的。
資料釋出與訂閱(配置中心)
負載均衡
命名服務(naming service)
分布式通知/協調
叢集管理與master選舉
分布式鎖
分布式隊列
我們的目标就是将上面的場景都一一實踐一遍。首先說明,涉及到的代碼都是在學習zookeeper的過程完成的,很多都非常簡單,我希望能夠通過一兩百行的代碼來簡單而又直接的體會zookeeper的使用。如果想要深入實作上面說到的每個場景,恐怕還有許多欠考慮的地方。
<a target="_blank" href="http://blog.csdn.net/qq910894904/article/details/40835105">zookeeper場景實踐:(1)準備工作</a>
<a target="_blank" href="http://blog.csdn.net/qq910894904/article/deta%20ils/40833747">zookeeper場景實踐:(2)集中式配置管理</a>
<a target="_blank" href="http://blog.csdn.net/qq910894904/article/details/40833859">zookeeper場景實踐:(4)命名服務</a>
<a target="_blank" href="http://blog.csdn.net/qq910894904/article/details/40833981">zookeeper場景實踐:(5)分布式通知/協調</a>
<a target="_blank" href="http://blog.csdn.net/qq910894904/article/details/40834083">zookeeper場景實踐:(6)叢集監控和master選舉</a>
<a target="_blank" href="http://blog.csdn.net/qq910894904/article/details/40834397">zookeeper場景實踐:(7)分布式鎖</a>
<a target="_blank" href="http://blog.csdn.net/qq910894904/article/details/40834609">zookeeper場景實踐:(8)分布式隊列</a>