论文部分内容阅读
云平台提供了按分钟、小时等不同粒度的计费周期,能够根据云应用需求弹性改变云应用集群规模,有效降低投资成本。然而,当集群规模较大时,弹性变化也带来了配置信息修改困难的问题。手动修改配置信息耗时耗力,无法满足系统对实时性和准确性的要求,现有的配置信息管理系统也因无法实时获取云主机状态变更信息,不能保证云应用的高可靠性而不适合云平台使用。因此,云平台配置信息管理非常值得研究。论文在深入研究现有的配置信息管理系统及云计算技术的基础上,利用分布式协同服务ZooKeeper、Docker容器、Nginx反向代理等技术,设计并实现了一个对用户透明且具有高可靠性的云平台配置信息管理系统,实现了配置信息的统一管理,保证了云应用高可靠性。为保证云应用的高可靠性,设计实现了云主机管理模块、云应用环境管理模块及云应用自适应失效转移模块;为实现配置信息变更实时通知、云应用快速响应,配置信息管理模块采用了ZooKeeper临时节点及事件监听机制,并通过SpringMVC实现了可视化管理界面;为了实现系统的高可靠性,系统利用了虚拟IP和Nginx反向代理技术,避免了单点故障的发生。此外,针对系统研究过程中ZooKeeper客户端在分布式异构云平台与服务器进行连接时,没有参考服务器性能差异及所属地域,容易选择负载较高或者离云主机较远的ZooKeeper服务器进行连接,造成云应用配置信息读取速度慢且服务器性能无法得到充分利用等问题,本文采用面向对象的编程思想,利用工厂方法、创建者模式、策略模式等设计模式设计实现了ZKFramework框架,并提出了最小服务器负荷和最佳响应时间的负载均衡策略,使客户端能够根据服务器性能差异及所属地域进行连接,从而降低网络延时,减少配置信息读取时间,优化应用程序性能并达到充分利用异构服务器性能的效果。最后,对系统进行了功能测试和性能测试。测试结果表明,系统达到了设计目标,满足云平台配置信息管理需求。