Amazon Dynamo是組合使用P2P各種技術(shù)的經(jīng)典論文,對單機key-value存儲系統(tǒng)擴展成分布式系統(tǒng)有借鑒意義,值得仔細推敲。本人準備近期深入閱讀該論文,并寫下讀書筆記自娛自樂。當然,如果有志同道合的同學(xué)非常歡迎交流。以下是閱讀計劃:
1. 一切從DHT開始。Dynamo首先要解決的就是給定關(guān)鍵字key找出服務(wù)節(jié)點的問題。Dynamo的思想與Chord有些類似,我們可以拋開replication問題,看看Chord和Dynamo是如何通過應(yīng)用DHT解決服務(wù)節(jié)點定位問題的。這里面的難點當然是節(jié)點加入和刪除,尤其是多個節(jié)點并發(fā)加入/刪除。建議預(yù)先閱讀Chord論文:
scholar.google.com/scholar 。
2. Dynamo的replication。理解了DHT,我們需要結(jié)合replication理解服務(wù)節(jié)點定位及錯誤處理等問題。
3. Dynamo錯誤處理。這里包括兩種類型的錯誤,一種是暫時性的,如由于程序bug core dump后重啟,另外一種是永久性的,這里用到了Merkle Tree同步技術(shù)。
4. Dynamo讀/寫流程設(shè)計及沖突解決。這里主要涉及到一致性模型。Dynamo允許根據(jù)應(yīng)用配置R和W值來權(quán)衡效率及Availability,并使用了Lamport的Vector Clock來解決沖突。
5. Dynamo優(yōu)化。主要是Load rebalance的優(yōu)化。
6. Dynamo實現(xiàn)。如果讓我們自己來實現(xiàn)Dynamo,我們應(yīng)該如何劃分模塊以及實現(xiàn)過程中有哪些關(guān)鍵問題?
后續(xù)將按照計劃對每個問題做閱讀筆記 :)
閱讀全文
類別:默認分類 查看評論文章來源:
http://hi.baidu.com/knuthocean/blog/item/8838ad34f9ae1dbdd0a2d3d7.html
posted on 2009-12-03 13:43
Programmers 閱讀(894)
評論(1) 編輯 收藏