论文部分内容阅读
目前用户数量和网络流量出现了爆发性的增长,同时Web应用和内容从静态向动态进行转变,互联网应用面临大规模用户和动态数据内容的挑战,Web系统扩展成为关键性问题,而数据的管理,特别是应用状态数据的管理,很大程度上决定了Web系统的可靠性(Reliability)和可伸缩性(Scalability)。
分布式缓存为分布式数据对象提供动态随机访问存储以及管理,是加速数据访问,并提供数据分布式共享的关键技术,该技术可以提高系统的扩展能力以及保障系统的可靠性。然而随着动态Web和云计算的出现,弹性资源供给和持续性服务保障要求的不断增高,分布式缓存在满足服务质量的基础上进行缓存规模扩展的难度大大增加。分布式缓存系统迫切需要改变目前静态的、无法保障数据可用的缓存扩展方式,而需要通过弹性伸缩增强其动态扩展的能力并保证扩展时缓存数据的访问一致性,从而适应动态计算环境以及对缓存数据的高可用性需求。
为了提升分布式缓存系统弹性伸缩能力,本文重点关注并研究了弹性分布式缓存的关键技术。在系统架构方面,论文分析并设计了一种弹性分布式缓存架构,用于适应大规模动态变化的拓扑结构:在持续性服务和数据一致性保障方面,论文通过缓存分区信息自动同步、迁移数据访问一致性保障措施、节点容错机制以及受控的数据迁移过程提供了缓存扩展过程中缓存服务访问的一致性和缓存数据的一致性保障;同时论文通过改进的分布式哈希算法,在负载均衡时增加对分区热点和异构节点的支持,适应异构服务器环境和实际数据分区访问状况。
基于上述研究和设计,论文实现了一个弹性分布式缓存系统OnceDC,包括提供高效分布式数据存取服务的缓存服务端、保证数据访问一致性的分布式缓存客户端以及统一的缓存集群管理器,同时提供了相应的监控管理工具。系统测试结果表明,该系统支持高效的缓存服务,能够提供缓存规模弹性扩展的能力,同时能够较好地解决数据分区热点的状况,适应动态变化的实际应用环境。