论文部分内容阅读
随着进入互联网+时代,各行各业更加广泛的与互联网技术进行融合。在融合的过程中,Web应用逐渐成为人和人、人和物、物和物沟通的桥梁。为了快速响应用户不同种类的使用需求,敏捷开发思想越来越广泛的实践于Web应用的开发中。应用的开发由单纯的只考虑开发逐渐发展为开发、维护和发布全局规划。作为Web应用运行的基础,传统Web集群技术具有调度分发难,软件环境栈不一致,部署成本高等缺点,给Web应用的开发和运维人员带来了许多的不便。Docker容器技术正是为了解决传统Web集群中存在的问题而发展起来的一种服务器虚拟化技术。Docker容器在系统进程上封装了一套运行时库文件,通过namespace和cgroups技术对资源进行隔离和度量,AUFS技术实现容器标准化转移,能快速的构建Web应用的运行环境。使用Docker技术构建的Web集群可以实现Web应用的快速分发,以较低廉的部署成本保持集群的弹性,保持软件开发到应用部署过程中软件栈环境的一致性。然而由于Docker技术刚刚兴起,针对Docker容器的监控、资源控制、配置管理、安全等方面的技术尚未有完整确定的解决方案。需要在现有技术基础上做进一步的改进来完善Docker技术的使用。本文创新的利用Docker容器技术进行Web集群的构建,并对应用和任务的调度机制做了一定的研究。具体实现包括以下三点,首先系统通过Docker容器封装Web集群应用运行所需环境,利用Docker容器为集群的基本调度单位,屏蔽物理服务器的技术实现细节,实现应用底层透明化管理。然后系统结合容器资源的监控技术方案建立了Web集群的调度体系,实现应用的高效部署和集群自动扩容,能在较小的系统资源开销下提高服务器计算资源的利用率。最后系统利用Java语言编写了图形化的管理界面,便于系统管理人员的使用。文章的结尾根据设计部分的技术方案,实现了基于Docker容器的Web集群部署与扩容系统,并对容器资源监控、集群部署和动态扩容等关键功能进行了验证性的功能测试。