论文部分内容阅读
近年来,随着云计算的发展,在云配备的弹性资源供给基础上已开发了多种中间件,用于支撑云应用的快速部署、高效运行和轻松维护。考虑到复制技术是增强分布式服务的关键技术,而云环境中节点宕机、组件失效已是常态,因此,有必要开发数据复制中间件,它对提升云应用的性能、增强云应用的容错能力、提高云应用的可用性均具有重要意义。
本文在调研了不同云应用的不同需求后,提出对已开发的数据复制中间件进行优化。首先,考虑到不同应用对数据一致性的需求不同,数据复制中间件需要提供多种一致性的保障机制。其次,为了保证云应用的高可伸缩性,数据复制中间件需要具有高可伸缩性。
本文主要研究实现上述优化目标的关键技术。首先,数据复制中间件采用基于时间戳的反熵协议实现了数据更新操作的传播,并通过多维时间戳技术满足因果一致性、最终一致性所要求的规约。其次,数据复制中间件支持两种运行时一致性切换策略:由应用根据需求指定一致性切换策略;或者根据请求的响应时间自适应地进行切换。这样,云应用的设计者可以根据不同应用的不同特点,向数据复制中间件注册需要的一致性级别以及切换策略。在实现上,数据复制中间件采用两阶段提交协议保证多种一致性级别的运行时切换,并通过超时机制保证故障情况下协议的正确执行。最后,数据复制中间件采用一致性哈希技术,增强了自身的可伸缩性。
本文基于数据复制中间件构建了微博服务原型,并进行了演示性实验,验证了微博服务可以顺利地进行一致性级别切换,还进行了多组性能实验,实验结果表明数据复制中间件具有高可伸缩性。