Software → System Design
Replication
The practice of copying data across multiple nodes for availability, durability, or locality.
Where it fits
Replication keeps copies of data or services across multiple nodes. It supports availability, read scaling, failover, and disaster recovery.
Mental model
Replication trades simplicity for resilience and scale. More copies can improve availability, but they introduce consistency and lag questions.
Example
A database primary accepts writes and streams changes to read replicas. Read traffic can go to replicas, while failover promotes a replica if the primary fails.
Common mistakes
- Assuming replicas are always perfectly up to date.
- Forgetting conflict handling.
- Treating replication and backup as the same thing.
Related concepts
Availability, eventual consistency, failover, database sharding, consensus.