基于单体系统静态与动态分析的微服务拆分
软件工程
2020-03-06 v1
摘要
将单体软件系统迁移至微服务需要应用拆分技术以发现并选择合适的服务边界。这些技术通常基于领域知识、静态代码分析以及可维护性等非功能需求。本文介绍了我们一种方法的实践经验,该方法将静态分析与遗留软件系统运行时行为的动态分析相结合,包括用于支持微服务拆分的实时轨迹可视化。总体而言,我们的方法结合了用于微服务拆分的成熟分析技术(如领域驱动设计的限界上下文模式),并通过动态软件可视化丰富所收集的信息,以识别合适的微服务边界。我们与德国 IT 服务提供商 adesso SE 合作,将该方法应用于其真实的遗留彩票应用 in|FOCUS,为该分层单体企业 Java 系统识别良好的微服务拆分方案。
引用
@article{arxiv.2003.02603,
title = {Microservice Decomposition via Static and Dynamic Analysis of the Monolith},
author = {Alexander Krause and Christian Zirkelbach and Wilhelm Hasselbring and Stephan Lenga and Dan Kröger},
journal= {arXiv preprint arXiv:2003.02603},
year = {2020}
}