基于多目标优化的Docker-微服务部署研究

发布日期:2017年5月25日
基于多目标优化的Docker-微服务部署研究 基于多目标优化的Docker-微服务部署研究

本内容试读结束

下载后可阅读完整内容,立即下载

Docker是一个开源的云计算应用容器引擎,由于可以使数量巨大的应用程序在已有的服务器上运行,因此受到广泛的关注。将Docker技术与微服务相结合可以显著改善性能,但是也带来了如何有效部署的问题。本文在分布式估计算法和人工蜂群算法的基础上,提出了一个称为MOMDA-ABC的算法。该算法可以优化部署微服务的Docker容器间的通信距离和主机数,从而使得云计算平台的性能有效提升。实验结果也证明该方法的有效性。

云计算(Cloud Computing),简单来说就是一种互联网的计算方式,根据用户需求为用户提供各种基于互联网的软硬件服务。大家所熟知的云计算几种服务模式:基础设施即服务、平台即服务以及软件即服务,很好的将云计算划分成各类按需提供服务的形式。当然,云计算能够提供超大规模的计算能力, 能够为公司提供超高的可靠性和扩展性,保证数据的安全和对资源的伸缩利用,除此之外费用还极其廉价。但是云计算在使用过程中出现的问题:1) 无法提供多实体资源的切分,2) 计算机使用效率不高,3) 定制服务难满足需求。所以需要虚拟化技术来填补云计算中资源粒度划分问题。

虚拟化(Virtualization), 简而言之就是将一台计算机按照不同需求将实体资源(CPU、内存、硬盘存储空间和网络等)切割开,并且相互独立互不影响,这样可以有效的提高计算机的利用效率。但是现有的虚拟化技术随着互联网的发展也出现了相应的问题:1) 传统虚拟化资源划分粒度太大;2) 占用资源多;3) 并且迁移耗时耗力。

所以需要新的虚拟化技术带来对上述问题的更好的解决办法,Docker 容器技术能够很好的解决这几个问题。

Docker 容器技术的出现,很好的解决了传统虚拟化技术的众多问题,Docker 容器具备如下特点:1) 独立性;2) 细粒度;3) 快速创建和销毁;4) 很多管理工具。但是容器的出现不能简单的用于替代传统虚拟化技术,需要寻找新的应用场景,所以可以通过利用容器技术来支持微服务开发架构,使得服务的维护更加方便快捷。

微服务开发架构为开发者提供了可以更好开发应用程序的开发模式, 它具备的特点:1) 各个微服务间相互独立;2) 每个微服务都是一个原子化的服务,即不能再划分成更小的服务;3) 并且各个微服务能够快速的组合重构成一个系统。随着Docker 容器技术和微服务开发架构的完善,相信未来能够为云计算提供更加便捷的服务支持。

虽然Docker 和微服务的结合能够很好的为现有的云计算提供更加便捷的服务支持,但是当结合Docker 与微服务是也会产生相应的问题。本文着重考虑将以微服务架构开发的各个微小的服务部署到支持Docker 容器虚拟化的服务器上将会产生的难点问题:将各个微服务部署到Docker 平台上后各个微服务之间的通信时延问题,降低各个微服务之间的通信时延能够很大程度上降低服务访问的时间,提高用户体验。与此同时,考虑降低主机的数量,达到节约能源的效果。据此本文结合人工蜂群算法和分布估



相关标签