软件学报

北大核心,INSPEC,JST,Pж(AJ),EI

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2020年第11期:场景驱动且自底向上的单体系统微服务拆分方法

发布日期:

作者:丁丹,彭鑫,郭晓峰,张健,吴毅坚

单位:丁丹,复旦大学 计算机科学技术学院, 上海 201203;上海市数据科学重点实验室(复旦大学), 上海 20120311,彭鑫,复旦大学 计算机科学技术学院, 上海 201203;上海市数据科学重点实验室(复旦大学), 上海 20120302,郭晓峰,复旦大学 计算机科学技术学院, 上海 201203;上海市数据科学重点实验室(复旦大学), 上海 20120303,张健,复旦大学 计算机科学技术学院, 上海 201203;上海市数据科学重点实验室(复旦大学), 上海 20120304,吴毅坚,复旦大学 计算机科学技术学院, 上海 201203;上海市数据科学重点实验室(复旦大学), 上海 20120305

关键词:单体系统;微服务;场景驱动;自底向上;拆分

基金:国家重点研发计划(2018YFB1004803)

作为云原生应用的一种典型形态,微服务架构已经在各种企业应用系统中被广泛使用.在企业实践中,许多微服务都是在单体架构的遗留系统基础上通过微服务拆分和改造形成的,其中的拆分决策(特别是数据库拆分)对于微服务系统的质量有着很大的影响.目前,单体系统的微服务拆分决策主要依赖于人的主观经验,整个过程成本高、耗时长、结果不确定性很高.针对这一问题,提出一种场景驱动、自底向上的单体系统微服务拆分方法.该方法以场景驱动的方式,通过动态分析获取单体遗留系统运行时的方法调用和数据库操作信息,然后基于数据表之间的关联分析生成数据库拆分方案,接着再自底向上进行搜索,产生相应的代码模块拆分方案.基于这种方法,实现了一个原型工具MSDecomposer,将拆分过程可视化,并支持多种维度的反馈调整策略.基于多个开源软件系统进行了案例研究,研究结果表明,该方法能够显著加快微服务拆分决策的速度,减轻开发人员的决策负担,得到的拆分结果是合理的.

来源:2020年第11期

《软件学报》期刊编辑部

查看软件学报杂志2020年第11期

联系我们

  • 地址:北京8718信箱
  • 电话:010-62562563
  • E-mail:jos (a) iscas. ac. cn

咨询工作人员