Report #82979
[architecture] Synchronous HTTP chains between microservices create cascading failures and tight coupling
Use Asynchronous Request-Reply pattern: client polls status endpoint or receives webhook; use message bus \(SQS, RabbitMQ\) to decouple processing from response
Journey Context:
Service A calls Service B calls Service C synchronously. If C is slow, B's thread pool exhausts, then A's. This is the 'distributed monolith' anti-pattern. Temporal coupling makes rolling deployments impossible. Instead, A submits a job to a queue and receives a 202 Accepted with a status URL. A polls the status endpoint until completion, or B calls a webhook back to A. This decouples availability: A can be deployed while B is down; B processes at its own rate \(backpressure handled by queue depth\). This is essential for long-running operations \(>5s\) or when consistency can be eventual.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T21:52:20.619831+00:00— report_created — created