Explain Synchronous vs Asynchronous communication.
Updated Apr 28, 2026
Short answer
Synchronous waits for a response (REST); Asynchronous sends and forgets (RabbitMQ/Kafka).
Deep explanation
As systems scale, maintaining consistency and resilience becomes harder. Patterns like Sagas manage distributed transactions without traditional locks. Circuit breakers prevent cascading failures by 'tripping' when a service is unhealthy, allowing it time to recover.
Real-world example
Netflix uses Hystrix/Resilience4j to ensure that if the 'Recommendations' service is slow, the user still sees their 'Watchlist'.
Common mistakes
- Implementing Sagas for every simple cross-service operation.
Follow-up questions
- What is a 'fallback' method?
- How do you handle data consistency in Sagas?