MV4MS: A Spring Cloud based Framework for the Co-Deployment of Multi-Version Microservices

Lei Liu, Xiang He, Zhiying Tu, Zhongjie Wang
{"title":"MV4MS: A Spring Cloud based Framework for the Co-Deployment of Multi-Version Microservices","authors":"Lei Liu, Xiang He, Zhiying Tu, Zhongjie Wang","doi":"10.1109/SCC49832.2020.00033","DOIUrl":null,"url":null,"abstract":"Agile development and the loose coupling of microservices, make continuous delivery/deployment of large, complex service systems become much easier. The microservices are upgraded and released independently and have their own independent version trees. For compatibility, multiple versions of one microservice are to be deployed in the same system to offer slightly different functionalities to different users simultaneously. However, loosely-coupling does not mean multiple microservices keep absolutely independent but there are more or less dependencies among them, and such dependencies occur not only on functionalities but also on the version issue, too. Existing microservice frameworks have no enough capability for multi-version co-deployment and the corresponding version-oriented dependency management. In this paper, a Spring Cloud based framework called MV4MS is introduced for this challenge. It extracts version information from source codes of microservices, builds version dependencies, packs and deploys requisite versions of microservices, and routes user requests to desired versions at run-time. Architecture of MV4MS and detailed design of its components are elaborately introduced. Experiments are conducted in AWS cloud environment, and results show that our framework could reduce the complexity of multi-version microservice co-deployment and ensure the correctness of routing between multi-version microservice.","PeriodicalId":274909,"journal":{"name":"2020 IEEE International Conference on Services Computing (SCC)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE International Conference on Services Computing (SCC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SCC49832.2020.00033","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

Abstract

Agile development and the loose coupling of microservices, make continuous delivery/deployment of large, complex service systems become much easier. The microservices are upgraded and released independently and have their own independent version trees. For compatibility, multiple versions of one microservice are to be deployed in the same system to offer slightly different functionalities to different users simultaneously. However, loosely-coupling does not mean multiple microservices keep absolutely independent but there are more or less dependencies among them, and such dependencies occur not only on functionalities but also on the version issue, too. Existing microservice frameworks have no enough capability for multi-version co-deployment and the corresponding version-oriented dependency management. In this paper, a Spring Cloud based framework called MV4MS is introduced for this challenge. It extracts version information from source codes of microservices, builds version dependencies, packs and deploys requisite versions of microservices, and routes user requests to desired versions at run-time. Architecture of MV4MS and detailed design of its components are elaborately introduced. Experiments are conducted in AWS cloud environment, and results show that our framework could reduce the complexity of multi-version microservice co-deployment and ensure the correctness of routing between multi-version microservice.
MV4MS:一个基于Spring云的框架,用于协同部署多版本微服务
敏捷开发和微服务的松散耦合使得大型复杂服务系统的持续交付/部署变得更加容易。微服务的升级和发布是独立的,它们有自己独立的版本树。为了兼容性,一个微服务的多个版本将被部署在同一个系统中,以同时为不同的用户提供略有不同的功能。然而,松耦合并不意味着多个微服务保持绝对独立,而是它们之间或多或少存在依赖关系,这种依赖关系不仅存在于功能上,也存在于版本问题上。现有的微服务框架没有足够的能力进行多版本协同部署和相应的面向版本的依赖管理。本文介绍了一个基于Spring Cloud的框架MV4MS来解决这个问题。它从微服务的源代码中提取版本信息,构建版本依赖关系,打包和部署必要的微服务版本,并在运行时将用户请求路由到所需的版本。详细介绍了MV4MS的体系结构及其各组成部分的详细设计。在AWS云环境下进行了实验,结果表明该框架能够降低多版本微服务协同部署的复杂性,保证多版本微服务之间路由的正确性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信