论文部分内容阅读
随着云计算技术的发展,云平台对可用性的要求越来越高。特别是平台即服务(Platform as a Service,简称PaaS),由于和业务实现结合紧密,如何保障PaaS系统的高可用性,向用户提供稳定服务,已经成为了亟待解决的问题。虽然商业云平台已有解决方案,可以向用户提供稳定的服务,但是Cloud Foundry等开源云平台发展较晚,高可用尚无成熟实现。但是其源码公开,用户可以自己部署,对外提供服务,这些是商业云平台不能提供的。因此为研发开源云平台高可用解决方案对推动云计算的工业使用具有重要意义。本人在实习期间参与基于开源云计算PaaS平台Cloud Foundry的高可用方案设计实现工作,参与了Cloud Foundry组件及应用的高可用需求分析以及“可用区”概念提出,并独立完成了文中所提到的组件和应用的高可用设计和实现。首先,本文简要介绍Cloud Foundry当前的架构,各个组件以及其中存在的单点等影响可用性的问题,然后分析各个组件的业务需求和可用性需求,以及Cloud Foundry上应用的可用性需求。其次,探讨了当前系统所使用的高可用方案的单点缺陷,提出按照“可用区”概念划分物理设备的策略,在此基础上研究组件的内部实现,给出了针对核心组件Router, DEA, CCNG,数据库等组件,以及在Cloud Foundry上运行的应用的高可用设计方案。再次,实现了取消单点的部署,并在此基础上针对各个组件的特点为每个组件提供详细高可用实现方案,包括Router, DEA, CCNG等组件的高可用部署;基于数据库集群方案的高可用;如何更改组件来实现应用的高可用。最后,本文根据高可用实现方式不同,分别为Router, DEA, CCNG等组件;数据库组件;应用设计了三种测试,测试单点问题是否解决。测试结果验证了本Cloud Foundry高可用方案是可行的。