ZooKeeper場景實踐:(1)準備工作

ZooKeeper是一個高可用的分佈式數據管理與系統協調框架。保證了分佈式環境中數據的強一致性,也正是基於這樣的特性,使得ZooKeeper解決很多分佈式問題。

有人認爲ZooKeeper之於分佈式的意義正如同lex/yacc之於編譯的意義。我們知道lex/yacc是一套強大的語法編譯工具。使用lex/yacc可以很輕鬆的完成許多語法規則的編寫。同樣道理,Zookeeper作爲一個分佈式的數據管理和協調框架,沒有它依然可以做分佈式,但是有了它,你的分佈式會更輕鬆。
本系列文章主要是從學習的角度對Zookeeper常用的場景進行實踐,從而更好的理解和掌握Zookeeper。

下面是學習過程中收集到的一些資料

ZooKeeper典型應用場景
ZooKeeper入門到精通視頻百度雲盤地址,(個人認爲要去掉“到精通”三個字,入門介紹還是不錯的)。
Zookeeper安裝和C語言API庫指南
ZooKeeper常用命令

如果之前沒有接觸過ZooKeeper的話,建議還是先看看上面這些博客,有了大致的瞭解然後在來看這個系列的學習筆記。

網上的一些實踐的代碼通常都是Java的,本系列則是利用Zookeeper的C語言API完成的。

ZooKeeper典型應用場景中介紹了以下幾種場景:

  • 數據發佈與訂閱(配置中心)
  • 負載均衡
  • 命名服務(Naming Service)
  • 分佈式通知/協調
  • 集羣管理與Master選舉
  • 分佈式鎖
  • 分佈式隊列

我們的目標就是將上面的場景都一一實踐一遍。首先說明,涉及到的代碼都是在學習Zookeeper的過程完成的,很多都非常簡單,我希望能夠通過一兩百行的代碼來簡單而又直接的體會Zookeeper的使用。如果想要深入實現上面說到的每個場景,恐怕還有許多欠考慮的地方。

所有的代碼你都可以到我的github上面下載。點擊這裏.不正之處,敬請諒解。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章