论文部分内容阅读
云计算是一种面向下一代互联网的计算模式。在该模式下,应用、数据和IT资源以服务的方式通过网络提供给用户使用。经过几年的发展,云计算逐渐成熟,得到工业界和学术界的普遍认可。分布式缓存能够有效提升云平台中应用的数据访问性能,是云服务家族的重要成员。
由于多租户是云计算的关键特性,支持多租户成为分布式缓存的重要需求。云环境下大量租户共享底层资源、用户对服务质量的严格要求以及复杂多变的应用负载等给面向多租户的分布式缓存系统的实现带来了诸多挑战。针对上述挑战和已有系统的不足,本文设计并实现了一个面向多租户的分布式缓存系统。
首先本文设计了一种基于进程隔离的多租户分布式缓存架构。该架构引入缓存组的概念来满足不同租户的数据隔离和性能隔离需求,适应大规模动态变化的拓扑结构。在此基础上本文提出一种面向服务质量的自适应资源调整方法。该方法基于MAPE控制环定期对系统资源进行调整。支持的调整方式包括三类:缓存组均衡、缓存组伸缩以及服务器层调整。其中缓存组均衡调整着力解决应用访问模式变化导致的负载不均衡问题;缓存组伸缩调整通过增减缓存节点实现各缓存组资源的按需供给;服务器层调整通过低负载服务器的整合和瓶颈态服务器的拆分,有效提高服务器的资源利用率。针对调整过程中的数据分区重分布问题,本文采用基于熵的不均衡度指标来刻画负载在缓存组各节点的分布情况,同时提出一种热点感知的数据重均衡算法来计算迁移方案。针对数据迁移时缓存服务的持续可用性保障问题,本文提出一种基于捎带确认的数据访问协议实现缓存分区路由信息的同步及迁移数据的一致性访问,同时提出一种基于图论的全局迁移任务调度机制,在避免数据迁移网络流量过大冲击性能的同时,尽快完成数据迁移。
基于上述设计,本文实现了一个面向多租户的分布式缓存系统ElastiCamel。该系统支持缓存组的自动部署和系统资源的自适应调整,同时提供了图形化的管理控制台,以便于管理。系统测试结果表明,该系统能够有效应对负载动态变化,保障缓存组的服务质量,同时提高系统资源利用率。