一种基于特征表将单体应用分解为微服务的方法
软件工程
2021-05-18 v1
摘要
微服务架构是指使用大量小规模且独立部署的服务,而非将所有功能封装于单一单体中。在软件工程中,将单体系统分解为更小的部分一直是一项挑战。本文提出特征表(Feature Table)方法,一种基于功能特征与微服务之间关联的结构化服务分解方法:(1)我们定义了特征卡(Feature Cards)的概念及此类卡片的 12 个实例;(2)我们制定了分解规则(Decomposition Rules)以分解单体应用;(3)我们设计了特征表分析工具(Feature Table Analysis Tool)以提供用于识别微服务的半自动分析;以及(4)我们制定了映射规则(Mapping Rules)以帮助开发人员实现微服务候选者。我们在货物追踪系统(Cargo Tracking System)上进行了案例研究,以验证我们面向微服务的分解方法。货物追踪系统是一个典型案例,已被其他相关方法(数据流驱动方法、Service Cutter 和 API Analysis)分解过。通过与相关方法在特定耦合与内聚度量方面的比较,结果表明所提出的特征表方法能够给出更合理的微服务候选者,且在半自动支持下易于实现。
引用
@article{arxiv.2105.07157,
title = {A Feature Table approach to decomposing monolithic applications into microservices},
author = {Yuyang Wei and Yijun Yu and Minxue Pan and Tian Zhang},
journal= {arXiv preprint arXiv:2105.07157},
year = {2021}
}