论文标题
整体逐步迁移到微服务体系结构:性能和迁移工作评估
Stepwise Migration of a Monolith to a Microservices Architecture: Performance and Migration Effort Evaluation
论文作者
论文摘要
当今业务固有的敏捷性促进了将业务实体脱钩到模块和/或服务的软件体系结构的定义。但是,在拥有丰富的域模型中,在域实体紧密连接的情况下存在优势,因为它促进了初步的快速开发。另一方面,将业务逻辑分为模块和/或服务,其通过明确定义的接口进行封装,而服务间通信的引入则在性能方面引入了成本。在本文中,我们将使用丰富的域对象分析了整体的逐步迁移到微服务体系结构中,其中模块化整体体系结构用作中间步骤。两个步骤都衡量了对迁移工作和绩效的影响。当前的最新状态分析了整体系统向微服务体系结构的迁移,但我们观察到迁移工作和绩效问题在迁移到模块化巨石中已经很重要。因此,为每个步骤建立了明确的区别,可以将软件架构师告知整体系统迁移的计划。特别是,进行所有迁移过程或仅迁移到模块化巨石的权衡。
The agility inherent to today's business promotes the definition of software architectures where the business entities are decoupled into modules and/or services. However, there are advantages in having a rich domain model, where domain entities are tightly connected, because it fosters an initial quick development. On the other hand, the split of the business logic into modules and/or services, its encapsulation through well-defined interfaces and the introduction of inter-service communication introduces a cost in terms of performance. In this paper we analyze the stepwise migrating of a monolith, using a rich domain object, into a microservice architecture, where a modular monolith architecture is used as an intermediate step. The impact on the migration effort and on performance is measured for both steps. Current state of the art analyses the migration of monolith systems to a microservices architecture, but we observed that migration effort and performance issues are already significant in the migration to a modular monolith. Therefore, a clear distinction is established for each one of the steps, which may inform software architects on the planning of the migration of monolith systems. In particular, the trade-offs of doing all the migration process or just migrating to a modular monolith.