Execution Dependencies in Microservices

Cross path blocking effects in microservices

Figure 1. Blocking effects among different execution paths. Resource saturation in a single service can cascade across multiple execution paths, causing severe performance damage.

Microservice applications decompose monolithic business logic into loosely coupled microservices, introducing complex inter-service dependencies. This architectural shift poses a significant challenge to maintaining system-wide performance stability: resource contention in a single microservice can cascade, causing blocking effects cross different execution paths. As a result, performance degradation from transient bottlenecks in a microservice is not limited to its own execution path but instead propagates across multiple execution paths, leading wide-spread performance degradation.

Cross-service queue blocking

Figure 2. Conceptual illustration of cross-service queue blocking.

Execution blocking occurs when resource saturation happens directly on a shared upstream microservice. In such a scenario, the shared upstream microservice becomes a bottleneck, blocking the execution of all dependent downstream microservices across different execution paths. However, cross-service queue blocking is more challenging to detect and mitigate because the resource saturation and the blocking effect occur on different microservices. In such a scenario, resource saturation can happen on any downstream microservice (DM) in one execution path and block the execution of other execution paths.

Xuhang Gu
Xuhang Gu

Ph.D. student in Computer Science at Louisiana State University, Baton Rouge, LA.