arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2003.02603cs.SE
收藏

基于Monolith静态和动态分析的微服务分解

Microservice Decomposition via Static and Dynamic Analysis of the Monolith

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

摘要:

将单片软件系统迁移到微服务需要应用分解技术来寻找和选择适当的服务边界。这些技术通常基于领域知识、静态代码分析和非功能性需求(如可维护性)。在本文中,我们提出了一种方法,该方法扩展了静态分析与遗留软件系统的运行时行为的动态分析,包括实时跟踪可视化,以支持分解为微服务。总的来说,我们的方法结合了微服务分解的既定分析技术,例如域驱动设计的有界上下文模式,并通过动态软件可视化来丰富收集的信息,以确定适当的微服务边界。在与德国IT服务提供商adesso SE的合作中,我们将我们的方法应用于他们的真实世界,传统彩票应用程序,|专注于为这个分层的单片企业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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑