System Design · Guide

Replication

Leader-follower, multi-leader, sync vs async.

— min read System Design

Theory

Replication: Leader-follower, multi-leader, sync vs async.

Replication copies data to multiple nodes for fault tolerance and read scaling. Leader-follower (primary-replica) is the most common pattern: all writes go to the leader, followers apply the same changes.

Synchronous replication waits for follower acknowledgment before confirming a write — no data loss on leader failure but higher latency. Asynchronous replication confirms immediately — faster writes but risk of lost un-replicated data.

Multi-leader replication allows writes on multiple nodes (conflict resolution required). Leaderless quorum systems (Dynamo, Cassandra) use R + W > N for tunable read/write consistency without a single leader bottleneck.

Production rollouts require idempotent automation, peer review, staged apply, and documented rollback — treat changes as production code.

Interviewers want STAR stories linking Replication to measurable outcomes: fewer outages, faster deploys, lower cost, or reduced toil.

Architecture Diagram

Users / clients
         |
  Replication
         |
  Core services
         |
  Data + observability

Examples

bash
# Replication
# Leader-follower, multi-leader, sync vs async.
# Validate in staging before production rollout.

Interview Questions

What problem does Replication solve?

It addresses the core use case described in production architecture — map features to reliability, scale, or velocity outcomes.

Key components of Replication?

Identify inputs, outputs, control plane, data plane, and failure domains — interviewers want structured decomposition.

Common production pitfalls?

Misconfiguration, missing observability, no rollback path, and scaling bottlenecks under peak load.

How do you test changes safely?

Staging parity, canary/gradual rollout, automated health checks, and documented rollback.

Metrics to prove success?

Error rate, latency percentiles, throughput, cost, and toil reduction — pick one primary SLO.

Beginner vs advanced concern?

Beginners focus on setup; advanced teams focus on blast radius, security boundaries, and operability at 10× scale.

Best Practices

  • Treat Replication config as code with review and CI validation.
  • Define SLOs and dashboards before production cutover.
  • Document rollback and ownership for on-call.
  • Use least privilege for credentials.

Common Mistakes

  • Adopting Replication without measurable success criteria.
  • No staging environment mirroring production constraints.
  • Missing rollback path during incidents.
  • Undocumented on-call expectations.

Trade-off Analysis

Replication improves leader-follower, multi-leader, sync vs async. but adds operational and cognitive complexity — justify with load and team size.

Favor simplicity until metrics (p99 latency, error rate, cost) prove the pattern necessary.

Every redundancy layer trades capital/operational cost for availability — align with explicit SLO targets.

Document accepted inconsistency windows and recovery behavior before production cutover.

Cheat Sheet

ReplicationLeader-follower, multi-leader, sync vs async.
SLOService level objective
RollbackRevert to last known good
CanaryLimited blast-radius rollout
RunbookIncident steps

Practical Exercises

Replication sandbox

Stand up Replication locally or in free tier; document commands and failure recovery.

Failure drill

Introduce misconfiguration; practice detection and rollback under time limit.