暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
场景驱动且自底向上的单体系统微服务拆分方法-丁丹,彭鑫,郭晓峰,张健,吴毅坚.pdf
169
22页
1次
2022-05-24
免费下载
软件学报 ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn
Journal of Software, [doi: 10.13328/j.cnki.jos.006031] http://www.jos.org.cn
©国科学院软件研究所版权所. Tel: +86-10-62562563
场景动、自底向上的单体系统微服务分方
1,2
,
1,2
,
1,2
,
1,2
,
1,2
1
(旦大 计算机科学技术学, 201203)
2
(海市数据科学重点实验(旦大),上海 201203)
通讯作者: , E-mail: pengxin@fudan.edu.cn
: 作为云原生应用的一种典型形态,微服务架构已经在各种企业应用系统中被广泛使用.企业实践,
多微服务都是在单体架构的遗留系统基础上通过微服务拆分和改造形成的,其中的拆分决策(特别是数据库拆分)
对于微服务系统的质量有着很大的影响.目前单体系统的微服务拆分决策主要依赖于人的主观经,整个过程成
高、耗时长、结果不确定性很高.针对这一问题,本文提出了一种场景驱动、自底向上的单体系统微服务拆分方法.
该方法以场景驱动的方式,通过动态分析获取单体遗留系统运行时的方法调用和数据库操作信息,然后基于数据
之间的关联分析生成数据库拆分方,着再自底向上进行搜索,产生相应的代码模块拆分方.于这种方,
文实现了一个原型工具 MSDecomposer,将拆分过程可视化,并支持多种维度的反馈调整策略.本文基于多个开源软
件系统进行了案例研究,研究结果表明,本文提出的方法能够显著加快微服务拆分决策的速度,减轻开发人员的决策
负担,得到的拆分结果合理.
关键词: 单体系统;微服务;场景驱动;自底向上;拆分
图法类号: TP311
: , , , , . . .
http://www.jos.org.cn/1000-9825/6031.htm
英文引用格式: Ding D, Peng X, Guo XF, Zhang J, Wu YJ. Scenario-Driven and Bottom-Up Microservice Decomposition for
Monolithic Systems. Ruan Jian Xue Bao/Journal of Software, (in Chinese). http://www.jos.org.cn/1000-9825/6031.htm
Scenario-Driven and Bottom-Up Microservice Decomposition for Monolithic Systems
DING Dan
1,2
, PENG Xin
1,2
, GUO Xiao-Feng
1,2
, ZHANG Jian
1,2
, WU Yi-Jian
1,2
1
(School of Computer Science, Fudan University, Shanghai 201203, China)
2
(Shanghai Key Laboratory of Data Science, Fudan University, Shanghai 201203, China)
Abstract: As a typical form of cloud-native application, microservice architecture has been widely used in various enterprise
applications. In enterprise practice, many microservices are formed by decomposing and transforming the legacy system of monolithic
architecture. The decomposition decision, especially database decomposition, has a great impact on the quality of the microservice system.
At present, the microservice decomposition decision mainly depends on the human subjective experience. The whole process is costly,
time-consuming and the uncertain. To solve this problem, this paper proposes a scenario-driven, bottom-up microservice decomposition
method for monolithic system. This method uses scenario-driven method to obtain the method call and database operation information of
monolithic system by dynamic analysis, generate database decomposition scheme based on analyzing the association among data tables,
and then it searches from the bottom up to generate the corresponding code module decomposition scheme. Based on this method, this
paper implemetns a prototype tool MSDecomposer, which visualizes the decomposing process and supports feedback adjustment
strategies of multiple dimensions. This paper conducts case studies baed on severial open-source software systems, and the results show
基金项目: 家重点研发计(2018YFB1004803)
Foundation item: National Key R&D Program of China(2018YFB1004803)
收稿时间: 2019-12-02; 修改时间: 2020-02-07; 用时: 2020-03-09; jos 在线出版时间: 2020-04-21
2
Journal of Software 软件学报
that the method proposed in this paper can significantly speed up the decision-making of microservice decomposition, reduce the
decision-making burden of developers and the final result is reasonable.
Key words: monolithic system; microservice; scenario-driven; bottom-up; decomposition
统软系统采用的单,所有码被构建部署,数据中化.需求变更
软件,模往断变度越使用逐渐,导致本大
升、特性付周延长.在过年里,云计基础施都了弹自恢和可缩的,
虚拟和容技术发展,这些素共促进了微Microservices,种区别于体架的软架构
格被广泛接和应.
微服将一大型复杂软件统分成一组独运行以轻级通信机进行互的对较小的
[1]
.服务围绕务功进行构建,独立开发、测试、部署和,以此带来好处括系统架的解
单个务的付周期缩术选型更活、扩展更好用性更高
[1]
.Neal Ford 2018 12
布的微服成熟度状”报
[2]
,在调涉及 866 访者,超过 50%表示,们的织中
一半项目使了微, 70%人使容器服务署方,86%他们服务
目已取得部分成功.这很大程上说微服务已成为种趋,并成运用生产实践.
企业,统都体架基础微服形成.
相对体架有诸优势,但将有的体系拆分服务不是件容的事,Netflix 司花 7
年时才完从单体到服务架构
[3]
.,正确合理的微务架反而会加系统试和障定
位的
[4,5]
.Eric Evans 领域驱动计”Domain Driven Design
[6]
方法,由于其所调的界上下文
Bounded Context)的能够然地成微,广泛作微设计导原.这种缺乏
的建和工
[7]
,要求师对域有,难在内得的拆.
,际的体系往规大、代久实现文档,导致设计不可,了人分析
的难.
上问,提出一种驱动自底的单统微务拆.该方于测驱动
,过监典型场景用例执行,析获体系运行方法用和库操信息,
系统访问轨.据数访轨迹的数行加,据表关联
,,.,
使 Kieker
[8,9]
,
MSDecomposer,.,
够显加快服务拆分策的,减轻发人的决策负.
1 景及相关工作
软件系统模块重构软件工程究领的一个重分支, 1972 Parnas 提出对系统进
模块构的
[10]
,随后信息、高低耦,赖静构分能数析、
挖掘,生了块化
[11,12,13,14]
.然而,务的作为
一大
[15]
,目前仍然少实的方和工具支
[16]
,研究要集在经验总和方论上.
Francesco 等人
[17]
18 工业界真参与微服务化移改的工师进行了访,将迁移过分成
、架,体实
.Taibi
[18]
则将服务改造过程成三类型,现有功能迁移重新开发及通“绞模式
现新,提出迁移框架.Jonas 等人
[19]
文献库中关键,十篇
服务分相的论,结其中涉的重方法,将方分成了静代码析、元数(架描述UML
等)向、作流数据通信据、能检测数等)向以动态微服拆分依据行时环境资源
of 22
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜