主页期刊介绍编委会编辑部服务介绍道德声明在线审稿编委办公编辑办公English
2020-2021年专刊出版计划 微信服务介绍 最新一期:2020年第7期
     
在线出版
各期目录
纸质出版
分辑系列
论文检索
论文排行
综述文章
专刊文章
美文分享
各期封面
E-mail Alerts
RSS
旧版入口
中国科学院软件研究所
  
投稿指南 问题解答 下载区 收费标准 在线投稿
丁丹,彭鑫,郭晓峰,张健,吴毅坚.场景驱动、自底向上的单体系统微服务拆分方法.软件学报,0,(0):0
场景驱动、自底向上的单体系统微服务拆分方法
Scenario-Driven and Bottom-Up Microservice Decomposition for Monolithic Systems
投稿时间:2019-12-02  修订日期:2020-02-07
DOI:10.13328/j.cnki.jos.006031
中文关键词:  单体系统  微服务  场景驱动  自底向上  拆分
英文关键词:monolithic system  microservice  scenario-driven  bottom-up  decomposition
基金项目:国家重点研发计划(2018YFB1004803)
作者单位E-mail
丁丹 复旦大学 计算机科学技术学院, 上海 201203
上海市数据科学重点实验室(复旦大学), 上海 201203 
 
彭鑫 复旦大学 计算机科学技术学院, 上海 201203
上海市数据科学重点实验室(复旦大学), 上海 201203 
pengxin@fudan.edu.cn 
郭晓峰 复旦大学 计算机科学技术学院, 上海 201203
上海市数据科学重点实验室(复旦大学), 上海 201203 
 
张健 复旦大学 计算机科学技术学院, 上海 201203
上海市数据科学重点实验室(复旦大学), 上海 201203 
 
吴毅坚 复旦大学 计算机科学技术学院, 上海 201203
上海市数据科学重点实验室(复旦大学), 上海 201203 
 
摘要点击次数: 421
全文下载次数: 721
中文摘要:
      作为云原生应用的一种典型形态,微服务架构已经在各种企业应用系统中被广泛使用.在企业实践中,许多微服务都是在单体架构的遗留系统基础上通过微服务拆分和改造形成的,其中的拆分决策(特别是数据库拆分)对于微服务系统的质量有着很大的影响.目前单体系统的微服务拆分决策主要依赖于人的主观经验,整个过程成本高、耗时长、结果不确定性很高.针对这一问题,本文提出了一种场景驱动、自底向上的单体系统微服务拆分方法.该方法以场景驱动的方式,通过动态分析获取单体遗留系统运行时的方法调用和数据库操作信息,然后基于数据表之间的关联分析生成数据库拆分方案,接着再自底向上进行搜索,产生相应的代码模块拆分方案.基于这种方法,本文实现了一个原型工具MSDecomposer,将拆分过程可视化,并支持多种维度的反馈调整策略.本文基于多个开源软件系统进行了案例研究,研究结果表明,本文提出的方法能够显著加快微服务拆分决策的速度,减轻开发人员的决策负担,得到的拆分结果合理.
英文摘要:
      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 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.
HTML  下载PDF全文  查看/发表评论  下载PDF阅读器
 

京公网安备 11040202500064号

主办单位:中国科学院软件研究所 中国计算机学会 京ICP备05046678号-4
编辑部电话:+86-10-62562563 E-mail: jos@iscas.ac.cn
Copyright 中国科学院软件研究所《软件学报》版权所有 All Rights Reserved
本刊全文数据库版权所有,未经许可,不得转载,本刊保留追究法律责任的权利