官網
http://zookeeper.apache.org/http://zookeeper.apache.org/doc/r3.3.2/zookeeperOver.html
Zookeeper 是一個分散式的儲存系統, 最常見是用來儲存分散式系統的設定, 就我看來, 他就像是分散式系統上的 registry, 同時他也提供了一些機制來幫助分散式中每一點同步資料, 同步意見, 所以他不是一個檔案系統, 不適合存大量的資料. 他也不是完整的 Configuration Management, 只能算是 Configuration Storage.
其它簡介
http://highscalability.com/zookeeper-reliable-scalable-distributed-coordination-systemhttp://rdc.taobao.com/blog/cs/?p=162
http://www.searchtb.com/2011/01/zookeeper-research.html
Python Binding
是一個用純 Python 實作的 Zookeeper client, 還滿好用的, 大量減化了和 Zookeeper 溝通的困難處, 而且一些進階的功能, 像是 Lock, Party, Election 都有實作出來, 所以推薦使用 Kazoo 做為 Zookeeper 的 Python Binding
拜佔庭將軍問題
在尋求一致的的過程中, 如果有消息遺失或是被內賊竄改, 在什麼情況下仍然能讓所有人的意見達成一致性?http://en.wikipedia.org/wiki/Byzantine_fault_tolerance
拜占庭將軍問題
Paxos 演算法
這個演算法是用來確保傳遞的消息的一致性, 在分散式系統內經常會被用到, 和拜佔庭將軍不同點在於, 這個演算法不假設有內賊存在的可能性. 但主要用來解決資料會隨著時間而改變, 如何確保每個人擁有的資料最終可以更新到最新的版本且是一致的. 更簡言的說法是一種分散式投票系統.http://en.wikipedia.org/wiki/Paxos_algorithm
Zookeeper全解析
Paxos算法
http://research.microsoft.com/en-us/um/people/lamport/pubs/lamport-paxos.pdf
沒有留言:
張貼留言