How do microservices communicate — synchronous vs asynchronous, and when each?
⚡ Short Answer
Synchronous (REST/gRPC) is simple and immediate but couples services and propagates failures/latency. Asynchronous (message broker / events) decouples, buffers load, and improves resilience, at the cost of eventual consistency and harder debugging. Use sync for queries needing an immediate answer, async for workflows/notifications.
☕Coffee Chat Question
Concept Made Simple
“How do microservices communicate — synchronous vs asynchronous, and when each?”
🧠Mind Map Answer
Remember It Faster
🔥What If?
Think Beyond the Expected
A chain of 5 synchronous service calls keeps timing out — what architectural smell is that?
Synchronous call chains couple availability multiplicatively (each hop must be up and fast) and amplify latency. It's a sign to flatten the chain, cache, or move parts to async/event-driven so a slow downstream doesn't cascade failures upstream.
😂Real World
Over-using synchronous calls creates fragile 'distributed monoliths'; mature systems push workflows onto events/queues and reserve sync calls for genuine request/response reads.
🎯Interviewer's Expectation
Keywords they're listening for:
⚠️Common Mistakes
- ✗Long synchronous call chains
- ✗Using async everywhere (debugging pain)
- ✗Ignoring partial-failure handling on sync calls
✅Best Practices
- ✓Async for workflows/events; sync for immediate reads
- ✓Add timeouts/circuit breakers to sync calls
- ✓Avoid deep synchronous chains
🔁Follow-up Questions
- 1What is a 'distributed monolith'?
- 2How does async messaging improve resilience?
- 3When is gRPC preferred over REST internally?
🧩Related Technologies
Continue Learning with AI
Take this question deeper with your favourite AI assistant. Pick a depth, copy the prompt, or open it directly — AI is your learning companion, not a shortcut.
Plain-language foundations
I'm preparing for a software engineering interview and want to understand this from scratch, as a beginner. Topic: Communication (Microservices) Interview question: "How do microservices communicate — synchronous vs asynchronous, and when each?" Please: 1. Explain the core idea in simple, plain language, using an everyday analogy. 2. Define any technical terms you use. 3. Walk through one small, concrete example. 4. Finish with a single sentence I can easily remember. Keep the tone friendly and assume I'm new to this topic.
Was this answer helpful?
⭐ Featured Products
Support our platform by exploring our recommended products.
As an Amazon affiliate, purchases through these links may earn us a small commission — at no extra cost to you. It helps keep Full Stack Interview Guru free.