Microservices have been recognized for over a decade. They reshaped system design enabling decentralization and independence of development teams working on particular microservices. While loosely coupled microservices are desired, it is inevitable for dependencies to arise. However, these dependencies often go unnoticed by development teams. As the system evolves, making changes to one microservice may trigger a ripple effect, necessitating adjustments in dependent microservices and increasing maintenance and operational efforts. Tracking different types of dependencies across microservices becomes crucial in anticipating the consequences of development team changes. This paper introduces the Endpoint Dependency Matrix (EDM) and Data Dependency Matrix (DDM) as tools to address this challenge. We present an automated approach for tracking these dependencies and demonstrate their extraction through a case study.
翻译:微服务已被认可超过十年。它们重塑了系统设计,实现了去中心化,并赋予特定微服务开发团队的独立性。尽管松散耦合的微服务是理想目标,但依赖关系的产生不可避免。然而,这些依赖关系常常被开发团队忽视。随着系统演进,对某个微服务的修改可能引发连锁反应,迫使依赖微服务进行调整,从而增加维护和运维成本。跟踪微服务间不同类型的依赖关系,对于预测开发团队变更的后果至关重要。本文引入端点依赖矩阵(EDM)和数据依赖矩阵(DDM)作为应对这一挑战的工具。我们提出了一种自动化追踪这些依赖关系的方法,并通过案例研究展示了其提取过程。