论文部分内容阅读
全球社交网络下的基础设施必须持续不断地提供对数十亿可变大小的媒体对象的访问,例如照片、视频和音频剪辑等。对这些对象的访问必须以一个地理分布,高度可扩展和负载平衡的存储系统作为支撑,并且存储系统必须对外提供低延迟和高吞吐量的服务。现有的文件系统和对象存储系统在服务这样的大对象时都存在不足之处,如存储了过多的冗余元信息、提供多余的功能、未解决负载均衡问题等。本文以提供对海量可变大小的媒体对象的存储和这些媒体对象低延迟和高吞吐量的访问为目标,基于现有存储系统,对分布式存储系统的总体需求、功能需求和性能需求进行了综合的分析,设计并实现一个高性能、易扩展、负载均衡的分布式存储系统。该分布式存储系统的总体架构是由集群管理模块、前端路由模块和数据节点模块构成。集群管理模块负责维护集群的状态,存储了整个分布式系统的硬件分布信息,数据文件的逻辑分布信息等集群的状态信息。前端路由模块是分布式存储系统外部请求的入口,负责处理用户的请求,进行一些安全性的检查,捕获对存储系统中的各个操作。数据节点模块负责具体数据的管理及存储。它采用诸逻辑文件块分组、负载均衡机制和操作系统缓存等技术设计成一个无中心的分布式存储系统。因此该系统在存储不可变的大文件时具有较好的性能,而且能提供对各种大小文件的存储。最后对分布式存储系统的吞吐量和延迟的性能进行了测试。该测试程序通过在不同数量的客户端下,对不同大小的数据文件以只写、只读和既读又写三种方式测试分布式存储系统。并通过对客户端数量、数据文件大小和操作方式三个维度改变所产生的数据进行了分析,获得分布式存储系统吞吐量和延迟的曲线图。通过比较分析,结果表明所设计的分布式存储系统在这三个维度下具有高吞吐量和低延迟的特性,提高分布式存储系统的持久性、可靠性和可扩展性,而且始终保持负载的均衡。