引用本文:贺祥,刘磊,涂志莹,徐晓飞.多版本共存的微服务系统自适应演化方法.软件学报,2021,32(5):1341-1359
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 2964次   下载 7398 本文二维码信息
码上扫一扫!
分享到: 微信 更多
多版本共存的微服务系统自适应演化方法
贺祥, 刘磊, 涂志莹, 徐晓飞
哈尔滨工业大学 计算机科学与技术学院, 黑龙江 哈尔滨 150001
摘要:
微服务设计模式通过将应用程序拆分成多个相互独立的微服务,实现了各个微服务之间的相互解耦,允许各个微服务能够独立地进行迭代开发、部署,从而对用户需求变化以及DevOps流程中部署需求作出快速响应.每个微服务的独立迭代升级导致了系统中可能出现多版本共存现象,不同服务的不同版本之间的依赖关系变得更加复杂.如何在这种场景下适应用户不断变化的需求以及开发者敏捷DevOps流程中部署需求,是当前面临的一个挑战.为解决这一问题,提出了微服务依赖模型来刻画不同服务的不同版本之间复杂的依赖关系,设计了基于贪婪的优化算法来找到最优的微服务系统演化方案,以满足用户需求变化和敏捷DevOps流程中部署需求,并实现了面向演化的微服务编程框架(MF4MS)和微服务系统自适应架构(MI4MS),可支持演化方案的自动执行,实现微服务系统运行时的自适应演化.实验结果表明:在有着复杂依赖的微服务系统中,该方法在服务失效时长、服务可用性、开发者DevOps代价等指标上有很好的表现,可有效支持微服务系统自适应演化,以应对用户需求变化和敏捷DevOps.
关键词:  微服务系统  多版本共存  版本依赖  自适应  用户需求变化  DevOps
DOI:10.13328/j.cnki.jos.006236
分类号:
基金项目:国家重点研发计划(2018YFB1402500);国家自然科学基金(61832014,61772155,61832004,61802089)
Self-adaptative Evoluationary Method of Multi-version Coexisting Microservice Systems
HE Xiang, LIU Lei, TU Zhi-Ying, XU Xiao-Fei
School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China
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.
Key words:  microservice systems  multi-version coexistence  version dependency  self adaptation  user requirement changes  DevOps

引用本文:
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览次   下载  
分享到: 微信 更多
摘要:
关键词:  
DOI:
分类号:
基金项目:
Abstract:
Key words: