Consistency & Availability
Consistency models — strong, eventual, causal, read-your-writes — define what clients can assume after a write.
Introduction
Consistency models — strong, eventual, causal, read-your-writes — define what clients can assume after a write. Availability is whether the system responds during failures.
The story
Users complained "I posted but don't see my tweet." Timeline was eventual consistent with 2s lag — product hadn't set expectation. Adding read-your-writes for author's own posts fixed perception without full strong consistency.
The business problem
Teams that skip disciplined Consistency & Availability thinking pay in outages, cost overruns, and failed interviews:
- Outages: components chosen without scale math fail at peak.
- Cost: over-engineered microservices for 100-user products.
- Latency: missing cache/CDN/replica on read-heavy paths.
- Interviews: boxes without numbers and trade-offs don't hire.
The problem teams faced
This lesson addresses:
- When and why Consistency & Availability matters in real architectures.
- How to sketch components and data flows under interview time pressure.
- Trade-offs vs alternatives — what senior engineers articulate aloud.
- Production patterns and failure modes you've seen or will see.
Understanding the topic
Core idea: Consistency & Availability in production system design.
- Problem — what force this topic addresses.
- Building blocks — components typically involved.
- Trade-offs — what you gain and what you pay.
- Interview — how this appears in design loops.
Internal architecture
Consistency & Availability — system view:
Write → primary / leader↓ replication lagRead from replica → may be stale↓ mitigationsRead-your-writes (sticky session)Monotonic reads (same replica)Causal consistency (vector clocks)
Visual explanation
Three diagrams: architecture flow, design process, and scaling lens:
Informative example
Example — Consistency & Availability:
Strong: linearizable — all see same order (costly)Eventual: replicas converge (cheap, common)Session: user sees own writes (UX sweet spot)
Execution workflow
Clarify requirements
Functional scope + NFRs (scale, latency, consistency).
Real-world use
Used in production at major tech companies and every FAANG system design interview loop. Patterns align with AWS/GCP well-architected frameworks and Google SRE practice.
Production case study
Users complained "I posted but don't see my tweet." Timeline was eventual consistent with 2s lag — product hadn't set expectation. Adding read-your-writes for author's own posts fixed perception witho…
- Context: production or interview scenario from this lesson.
- Decision: component and trade-off choices explained.
- Outcome: measurable latency, availability, or cost impact.
Trade-offs
- Pro: structured approach reduces outages and interview failures.
- Con: upfront thinking takes time — faster than wrong rebuild.
- Con: every product has unique constraints — adapt templates.
Decision framework
- Always estimate before drawing microservices.
- Match consistency model to business domain (money vs likes).
- Document rejected alternatives — ADR or interview closing.
Best practices
- State assumptions explicitly (DAU, read:write ratio).
- Draw async vs sync paths with different line styles.
- Close with monitoring and on-call failure modes.
Anti-patterns to avoid
- Jumping to Kafka and microservices without scale justification.
- Single DB box with no read replica or cache on read-heavy design.
- Ignoring idempotency on write APIs with retries.
Common mistakes
- Underestimating peak QPS (forgetting peak factor).
- Hot shard from poor partition key choice.
Debugging tips
- Trace one request ID through diagram — find missing component.
- Ask "what fails first at 10×?" for every design.
Optimization strategies
- Cache + CDN first for read-heavy; shard when single DB saturates.
- Async queue for slow side effects (email, analytics).
Common misconceptions
- More components ≠ better design — simplest meeting NFRs wins.
- Interviews test process — not memorizing Netflix architecture.
Advanced interview questions
Interview Prep
Practice concise answers, then expand each card for the explanation.
1IntermediateQuestionHow does Consistency & Availability appear in interviews?+
Answer
Follow-up
2IntermediateQuestionRelated building blocks?+
Answer
Follow-up
3AdvancedQuestionSenior-level trade-off?+
Answer
Follow-up
Summary
You can explain Consistency & Availability in a 45-minute system design interview with numbers, diagrams, and trade-offs. Teach it back without notes — you own this piece.