Amazon Dynamo是组合使用P2P各种技术的经典论文,对单机key-value存储系统扩展成分布式系统有借鉴意义,值得仔细推敲。本人准备近期深入阅读该论文,并写下读书笔记自娱自乐。当然,如果有志同道合的同学非常欢迎交流。以下是阅读计划:
1. 一切从DHT开始。Dynamo首先要解决的就是给定关键字key找出服务节点的问题。Dynamo的思想与Chord有些类似,我们可以抛开replication问题,看看Chord和Dynamo是如何通过应用DHT解决服务节点定位问题的。这里面的难点当然是节点加入和删除,尤其是多个节点并发加入/删除。建议预先阅读Chord论文:
scholar.google.com/scholar 。
2. Dynamo的replication。理解了DHT,我们需要结合replication理解服务节点定位及错误处理等问题。
3. Dynamo错误处理。这里包括两种类型的错误,一种是暂时性的,如由于程序bug core dump后重启,另外一种是永久性的,这里用到了Merkle Tree同步技术。
4. Dynamo读/写流程设计及冲突解决。这里主要涉及到一致性模型。Dynamo允许根据应用配置R和W值来权衡效率及Availability,并使用了Lamport的Vector Clock来解决冲突。
5. Dynamo优化。主要是Load rebalance的优化。
6. Dynamo实现。如果让我们自己来实现Dynamo,我们应该如何划分模块以及实现过程中有哪些关键问题?
后续将按照计划对每个问题做阅读笔记 :)
阅读全文
类别:默认分类 查看评论文章来源:
http://hi.baidu.com/knuthocean/blog/item/8838ad34f9ae1dbdd0a2d3d7.html
posted on 2009-12-03 13:43
Programmers 阅读(870)
评论(1) 编辑 收藏