论文部分内容阅读
随着互联网的高速发展,Web应用逐渐成为最重要的应用类型之一,Web应用高负载的特点推动着Web服务端架构从开始的单机演变为现在流行的分布式Web集群,有效地应对了互联网流量的膨胀,提高了Web应用的服务能力,但也存在着部署困难,资源利用率低和配置单一等问题。针对以上问题,基于云计算的Web应用部署与扩容系统充分利用虚拟化和云计算的技术,将Web服务器集群虚拟化,基于通用云计算基础设施服务实现了兼容传统Web应用的一键部署和动态扩容。Web应用的部署过程复杂,通常要考虑到应用的负载需求,应用的语言类型,Web容器的选择以及物理服务器软硬件的限制。一键部署的基本思想是利用云计算基础设施服务将服务器的物理资源进行整合,屏蔽掉物理层的复杂性,以虚拟机作为服务的基本载体,从而利用资源动态分配与调度技术,软件与配置模板机制以及远程部署技术来自动完成Web应用的部署,使得部署过程简单快捷,而且软件与配置多样化。为了满足潜在的负载需求,Web服务器一般都会为预估的最高负载留足资源,这使得资源利用率大大降低。动态扩容的基本思想是利用虚拟机的启停和配置的自动化与低开销,结合资源的监控技术,基于可扩展的分布式Web虚拟集群架构,对服务器的负载进行实时的监控,根据一定的扩容策略适时地触发扩容操作,将后端虚拟服务器的数目进行增减,从而在保障应用的服务质量的同时提高服务器的资源利用率。基于Linux操作系统和云计算基础设施服务,使用Python,Java等语言实现了该系统。功能测试结果表明,系统能够为PHP和Java两种语言的Web应用一键部署执行环境,且应用的服务能力能够随着负载变化动态伸缩。性能测试表明,应用性能随着后端虚拟服务器数量的增加而以几乎线性的速率增长,部署和扩容操作的时间开销平均在两分钟以内,多指标的扩容算法能够较准确地判断扩容时机。