论文标题

微服务分解通过整体的静态和动态分析

Microservice Decomposition via Static and Dynamic Analysis of the Monolith

论文作者

Krause, Alexander, Zirkelbach, Christian, Hasselbring, Wilhelm, Lenga, Stephan, Kröger, Dan

论文摘要

将整体软件系统迁移到微服务中需要分解技术查找并选择适当的服务边界。这些技术通常基于域知识,静态代码分析和非功能性要求,例如可维护性。在本文中,我们通过一种方法来介绍我们的经验,该方法通过对遗留软件系统的运行时行为进行动态分析,包括实时跟踪可视化,以支持分解为微服务。总体而言,我们的方法结合了微服务分解的既定分析技术,例如域驱动设计的有界环境模式,并通过动态软件可视化丰富了收集的信息,以识别适当的微服务边界。在与德国IT服务提供商Adesso SE合作的情况下,我们将方法应用于其现实词的Legacy Lottery Application | Focus中,以确定此分层整体企业Java系统的良好微服务分解。

Migrating monolithic software systems into microservices requires the application of decomposition techniquesto find and select appropriate service boundaries. These techniques are often based on domain knowledge, static code analysis, and non-functional requirements such as maintainability. In this paper, we present our experience with an approach that extends static analysis with dynamic analysis of a legacy software system's runtime behavior, including the live trace visualization to support the decomposition into microservices. Overall, our approach combines established analysis techniques for microservice decomposition, such as the bounded context pattern of domain-driven design, and enriches the collected information via dynamic software visualization to identify appropriate microservice boundaries. In collaboration with the German IT service provider adesso SE, we applied our approach to their real-word, legacy lottery application in|FOCUS to identify good microservice decompositions for this layered monolithic Enterprise Java system.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源