Explain Eventual vs Strong vs Causal Consistency.
Eventual consistency, strong consistency, and causal consistency are three consistency models in distributed systems: strong consistency ensures immediate global updates, eventual consistency allows temporary delays but guarantees convergence, and causal consistency enforces cause-and-effect ordering without total synchronization.
When to Use
- Strong consistency: banking, stock trading, or critical data.
- Eventual consistency: social media feeds, DNS, shopping carts.
- Causal consistency: chat apps, collaborative tools where order matters.
Example
If Alice posts and Bob likes it:
- Strong: Everyone instantly sees Bob’s like.
- Eventual: Some may see it later.
- Causal: Bob’s like shows only after Alice’s post.
Want to master these concepts?
Explore Grokking System Design Fundamentals, practice coding with Grokking the System Design Interview, or level up through Mock Interviews with ex-FAANG engineers.
Why Is It Important
Choosing the right model impacts availability, latency, and user trust in real-world systems.
Interview Tips
Be ready to define each model, give real-world examples, and tie it to CAP theorem. Highlight trade-offs with context (banking vs. social media).
Trade-offs
- Strong: Consistency, but lower availability and higher latency.
- Eventual: High availability and performance, but stale reads possible.
- Causal: Guarantees logical order, but no total order.
Pitfalls
- Misusing strong consistency for non-critical data.
- Assuming eventual consistency is acceptable everywhere.
- Confusing causal consistency with full global consistency.
GET YOUR FREE
Coding Questions Catalog
$197

$78
$78