Report #104604
[architecture] Should a service call be synchronous or asynchronous between components?
Use synchronous for request-response patterns within the same trust boundary where low latency and consistency are needed. Use asynchronous \(queues, events\) for cross-boundary communication, long-running tasks, or when decoupling and resilience are required.
Journey Context:
Common mistake: making everything sync leads to cascading failures and tight coupling; making everything async adds complexity of eventual consistency and monitoring. Sync is simpler but fragile; async is robust but harder to debug. Use sync for internal microservices within a request path \(e.g., API gateway to user service\) but async for notifications, data processing, or integrations with external systems. Combine with idempotency and retry for reliability.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-09-13T20:04:49.816479+00:00— report_created — created