多版本共存的微服务系统自适应演化方法
作者:
作者单位:

作者简介:

贺祥(1997-),男,博士生,CCF学生会员,主要研究领域为微服务,自适应系统,边缘计算,服务计算.
涂志莹(1983-),男,博士,副教授,CCF专业会员,主要研究领域为软件工程,服务计算,知识工程,企业业务建模技术.
刘磊(1998-),男,硕士生,主要研究领域为微服务,服务计算.
徐晓飞(1962-),男,博士,教授,博士生导师,CCF会士,主要研究领域为服务计算与软件服务工程,大服务与务联网,企业智能计算,企业业务建模技术.

通讯作者:

徐晓飞,E-mail:xiaofei@hit.edu.cn

中图分类号:

基金项目:

国家重点研发计划(2018YFB1402500);国家自然科学基金(61832014,61772155,61832004,61802089)


Self-adaptative Evoluationary Method of Multi-version Coexisting Microservice Systems
Author:
Affiliation:

Fund Project:

National Key Research and Development Program of China (2018YFB1402500); National Natural Science Foundation of China (61832014, 61772155, 61832004, 61802089)

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    微服务设计模式通过将应用程序拆分成多个相互独立的微服务,实现了各个微服务之间的相互解耦,允许各个微服务能够独立地进行迭代开发、部署,从而对用户需求变化以及DevOps流程中部署需求作出快速响应.每个微服务的独立迭代升级导致了系统中可能出现多版本共存现象,不同服务的不同版本之间的依赖关系变得更加复杂.如何在这种场景下适应用户不断变化的需求以及开发者敏捷DevOps流程中部署需求,是当前面临的一个挑战.为解决这一问题,提出了微服务依赖模型来刻画不同服务的不同版本之间复杂的依赖关系,设计了基于贪婪的优化算法来找到最优的微服务系统演化方案,以满足用户需求变化和敏捷DevOps流程中部署需求,并实现了面向演化的微服务编程框架(MF4MS)和微服务系统自适应架构(MI4MS),可支持演化方案的自动执行,实现微服务系统运行时的自适应演化.实验结果表明:在有着复杂依赖的微服务系统中,该方法在服务失效时长、服务可用性、开发者DevOps代价等指标上有很好的表现,可有效支持微服务系统自适应演化,以应对用户需求变化和敏捷DevOps.

    Abstract:

    A microservice-based system is composed of a set of microservices that are developed and deployed independently for agile DevOps. Intensive and iterative adaptations/upgrades of microservices are essential for such systems to adapt to user requirement changes and DevOps, and as a consequence, result in the phenomenon of "multi-version microservice coexistence" in a system. Besides traditional API-based functional dependencies between different microservices, there appear complicated dependencies between different versions of difference microservices, which dramatically deteriorate the maintainability of microservice systems, especially when systems evolve to adapt to user requirement changes and DevOps. To meet this challenge, a version dependency model is proposed for describing the complex dependencies between different versions of microservices, and greedy-based optimization algorithms are developed for generating an optimal evolution plan according to changes in user requirements and DevOps at different scenarios. A programming framework (MF4MS) and cloud-edge based infrastructure (MI4MS) are implemented to facilitate microservice systems to automatically execute the evolution plan. Experiments show that the proposed approach performs well on service down time, service availability, and the developers' cost of DevOps coping with self-adaptation in the situation where complicated version dependencies exist.

    参考文献
    相似文献
    引证文献
引用本文

贺祥,刘磊,涂志莹,徐晓飞.多版本共存的微服务系统自适应演化方法.软件学报,2021,32(5):1341-1359

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2020-09-21
  • 最后修改日期:2020-10-26
  • 录用日期:
  • 在线发布日期: 2021-02-07
  • 出版日期: 2021-05-06
文章二维码
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号