5.1.7 讨论
Dynamo采用无中心节点的P2P设计,增加了系统可扩展性,但同时带来了一致性问题,影响上层应用。另外,一致性问题也使得异常情况下的测试变得更加困难,由于Dynamo只保证最基本的最终一致性,多客户端并发操作的时候很难预测操作结果,也很难预测不一致的时间窗口,影响测试用例设计。
总体上看,Dynamo在Amazon的使用场景有限,后续的很多系统,如Simpledb,采用其他设计思路以提供更好的一致性。主流的分布式系统一般都带有中心节点,这样能够简化设计,而且中心节点只维护少量元数据,一般不会成为性能瓶颈。
从Amazon、Facebook等公司的实践经验可以得出,Dynamo及其开源实现Cassandra在实践中受到的关注逐渐减少,无中心节点的设计短期之内难以成为主流。另一方面,Dynamo综合使用了各种分布式技术,在实践过程中可以选择性借鉴。