Microservice architecture refers to the use of numerous small-scale and independently deployed services, instead of encapsulating all functions into one monolith. It has been a challenge in software engineering to decompose a monolithic system into smaller parts. In this paper, we propose the Feature Table approach, a structured approach to service decomposition based on the correlation between functional features and microservices: (1) we defined the concept of {\em Feature Cards} and 12 instances of such cards; (2) we formulated {\em Decomposition Rules} to decompose monolithic applications; (3) we designed the {\em Feature Table Analysis Tool} to provide semi-automatic analysis for identification of microservices; and (4) we formulated {\em Mapping Rules} to help developers implement microservice candidates. We performed a case study on Cargo Tracking System to validate our microservice-oriented decomposition approach. Cargo Tracking System is a typical case that has been decomposed by other related methods (dataflow-driven approach, Service Cutter, and API Analysis). Through comparison with the related methods in terms of specific coupling and cohesion metrics, the results show that the proposed Feature Table approach can deliver more reasonable microservice candidates, which are feasible in implementation with semi-automatic support.


翻译:微观服务结构是指使用许多小规模和独立部署的服务,而不是将所有功能都封装在一个单体中。在软件工程中,将一个单一的系统分解成一个小部分是一项挑战。在本文件中,我们提议了“功能表”方法,即基于功能特征和微观服务之间相互关系的服务分解的结构性方法:(1) 我们定义了“功能卡”概念和12种此类卡的典型情况;(2) 我们制定了“分解规则 ”,以拆解单体应用;(3) 我们设计了“功能表分析工具 ”,以提供用于识别微观服务的半自动分析;(4) 我们制定了“系统绘图规则 ”,以帮助开发者实施微观服务候选人。我们对货物跟踪系统进行了案例研究,以验证我们以微观服务为导向的分解法和此类卡的12种情况;货物跟踪系统是因其他相关方法(数据流驱动方法、服务库特和API分析)而分解的典型案例;(3) 我们设计了“系统分析工具 ”,通过比较具体组合和凝固度指标的相关方法,我们拟订了“系统绘图规则 ”,其结果显示,这些是更合理的支持候选人。

0
下载
关闭预览

相关内容

【CHI2021】可解释人工智能导论
专知会员服务
119+阅读 · 2021年5月25日
专知会员服务
50+阅读 · 2020年12月14日
【新书】Python编程基础,669页pdf
专知会员服务
192+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【泡泡汇总】CVPR2019 SLAM Paperlist
泡泡机器人SLAM
14+阅读 · 2019年6月12日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
spinningup.openai 强化学习资源完整
CreateAMind
6+阅读 · 2018年12月17日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
(TensorFlow)实时语义分割比较研究
机器学习研究会
9+阅读 · 2018年3月12日
计算机视觉近一年进展综述
机器学习研究会
9+阅读 · 2017年11月25日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
14+阅读 · 2017年11月16日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
【推荐】视频目标分割基础
机器学习研究会
9+阅读 · 2017年9月19日
The StarCraft Multi-Agent Challenge
Arxiv
3+阅读 · 2019年2月11日
Feature Selection Library (MATLAB Toolbox)
Arxiv
7+阅读 · 2018年8月6日
Arxiv
5+阅读 · 2018年3月16日
Arxiv
9+阅读 · 2018年3月10日
VIP会员
相关资讯
【泡泡汇总】CVPR2019 SLAM Paperlist
泡泡机器人SLAM
14+阅读 · 2019年6月12日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
spinningup.openai 强化学习资源完整
CreateAMind
6+阅读 · 2018年12月17日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
(TensorFlow)实时语义分割比较研究
机器学习研究会
9+阅读 · 2018年3月12日
计算机视觉近一年进展综述
机器学习研究会
9+阅读 · 2017年11月25日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
14+阅读 · 2017年11月16日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
【推荐】视频目标分割基础
机器学习研究会
9+阅读 · 2017年9月19日
Top
微信扫码咨询专知VIP会员