Report #104554
[architecture] How do I decide whether to make a service call synchronous or asynchronous?
Use synchronous calls for immediate consistency and low-latency queries where the caller waits for a response \(e.g., user-facing APIs\). Use asynchronous \(event-driven or queue-based\) for long-running operations, cross-service decoupling, or when availability is more important than strong consistency.
Journey Context:
Common mistake: making all calls async to avoid latency, but then dealing with eventual consistency, callback complexity, and debugging difficulties. Sync is simpler and easier to reason about for request-reply patterns. Async shines for background jobs, notifications, or when the caller can tolerate a delayed response. The Async Request-Reply pattern \(Microsoft\) is a standard way to implement async with a status endpoint. Alternative: using sync with timeout and fallback for short operations, but that can lead to cascading failures.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-09-06T20:04:55.102621+00:00— report_created — created