Identifying Domain-Based Cyclic Dependencies in Microservice APIs Using Source Code Detectors
Isolation, autonomy, and loose coupling are critical success factors of microservice architectures. Unfortunately, systems tend to become strongly coupled over time, sometimes even exhibiting cyclic communication chains, making the individual deployment of services challenging. Such chains are highly problematic when strongly coupled communication e.g.\ based on synchronous invocations is used, but also create complexity and maintenance issues in more loosely coupled asynchronous or event-based communication. Here, cycles only manifest on a conceptual or domain level, making them hard to track for algorithms that rely solely on static analysis. Accordingly, previous attempts to detect cycles either focused on synchronous communication or had to collect additional runtime data, which can be costly and time-consuming. We suggest a novel approach for identifying and evaluating domain-based cyclic dependencies in microservice systems based on modular, reusable source code detectors. Based on the architecture model reconstructed by the detectors, we derived a set of architectural metrics for detecting and classifying domain-based cyclical dependencies. By conducting two case studies on open-source microservice architectures, we validated the feasibility and applicability of our approach.
Top- Genfer, Patric
- Zdun, Uwe
Category |
Paper in Conference Proceedings or in Workshop Proceedings (Paper) |
Event Title |
15th European Conference on Software Architecture (ECSA) 2021 |
Divisions |
Software Architecture |
Subjects |
Software Engineering |
Event Location |
virtual |
Event Type |
Conference |
Event Dates |
13-17 Sep 2021 |
Date |
2021 |
Export |