EasyExperience level: 0-2 years · 3-5 years1 min read

How do microservices communicate — synchronous vs asynchronous, and when each?

Reviewed by Gurusankar M.

Asked inAmazonInfosysDeloitteCognizant
#synchronous#asynchronous#rest#messaging#kafka#grpc
Report issue

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.

On this page

Concept Made Simple

Coffee Chat Question

“How do microservices communicate — synchronous vs asynchronous, and when each?”

Remember It Faster

Mind Map Answer

Sync (REST/gRPC)
immediate, simple, tight coupling
Async (broker)
decoupled, resilient, eventual
Sync for
read/query needing an answer now
Async for
events, workflows, notifications

Think Beyond the Expected

What If?

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:

  • sync vs async trade-offs
  • coupling/latency amplification
  • eventual consistency cost of async
  • choose by use case
  • avoid long sync chains

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

  1. What is a 'distributed monolith'?
  2. How does async messaging improve resilience?
  3. When is gRPC preferred over REST internally?

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.
Open inChatGPTGeminiClaude

Was this answer helpful?

Affiliate links

Equipment for a comfortable, productive setup.

As an Amazon Associate I earn from qualifying purchases.