我们最近在第 23 届 ACM操作系统原理研讨会 (SOSP)上发布了一篇描述Windows Azure存储内部详细信息的论文。
您可以在这个链接11-calder.pdf下载到PDF版论文。会议还公布了谈话的视频链接在Youtube,和PPT幻灯片文档11-calder.pptx。
这篇论文详细介绍了如何通过存储集群提供和扩展中心内部及跨数据中心的存储能力, 以及如何使用存储位置服务(location service)来管理我们的集群和存储帐户。然后,文章集中介绍了集群的三层体系结构(前端层、分区层和流层),我们为什么会有这三层,这三层的功能是什么、如何工作以及集群内和集群间的两个复制引擎。此外,文章概述了我们所做出的一些设计决策/权衡取舍,以及从构建这一大型分布式系统中获得的经验和教训。
Windows Azure存储的设计旨在为我们预期会看到的体系结构中各种类型的网络分区提供一致性、可用性和分区容错 (CAP)(这三者缺一不可)。我们通过共同设计分区层和流层,为集群内常见的分区/故障(如存储结点和机架层的网络分区)提供强一致性、高可用性和分区容错。
在这个简短的会议讲话中,我们讨论了一些主要详细信息,其中包括分区层如何对每个存储集群提供可扩展至数以千亿级对象的自动负载均衡对象索引;流层如何执行集群内复制和故障处理;以及如何通过共同设计分区层和流层来为存储结点和机架层的网络分区和故障提供一致性、可用性和分区容错。
署名:布莱德·考德(Brad Calder) 标签:架构性能可伸缩性
以上消息来源:https://blogs.msdn.microsoft.com/windowsazurestorage/2011/11/20/sosp-paper-windows-azure-storage-a-highly-available-cloud-storage-service-with-strong-consistency/
….[阅读全文]