---
title: "What is synchronous replication?"
canonical: https://enum.co/learn/what-is-synchronous-replication
locale: en
topic: Storage
publishedAt: 2026-11-05
updatedAt: 2026-11-05
author: "Max Heyer"
summary: "Synchronous replication confirms a write only after every copy has stored it, so a failed server or disk loses no acknowledged data."
---

# What is synchronous replication?

Synchronous replication confirms a write only after every copy has stored it, so a failed server or disk loses no acknowledged data.

After reading this you will be able to:

- Explain when a synchronous write counts as done
- Compare synchronous and asynchronous replication on data loss and latency
- Know which failures synchronous replication does not cover

## What is synchronous replication?

Synchronous replication is a way of copying data where a write is confirmed to the application only after every replica has stored it. The primary sends the write to the other copies, waits for each one to report success, and then acknowledges it. Once the application hears "done", no single failure can take that write away.

Think of a contract that needs three signatures. It is not valid when the first person signs, only when all three have signed their copies. If one copy is lost afterwards, the other two still hold the full agreement.

## How does a synchronous write work?

A write goes through the same steps every time:

- The application sends the write to the primary copy.
- The primary stores it and forwards it to every replica.
- Each replica stores the write and reports back.
- Only then does the primary confirm the write to the application.

If a replica is slow, the whole write waits for it. That is the price of the guarantee: the slowest copy sets the pace.

## How is it different from asynchronous replication?

Asynchronous replication confirms the write as soon as the primary has it, then ships it to the replicas in the background. Both keep copies, but they promise different things when the primary fails.

### Data loss

With asynchronous replication, writes that were confirmed but not yet shipped are lost if the primary crashes. The amount lost grows with the replication delay at that moment. With synchronous replication, data is lost only if every copy fails at the same time, so the recovery point objective for a single failure is zero.

### Latency

A synchronous write cannot finish faster than one network round trip from the primary to its replicas, plus the time each one needs to store the data. Replicas far apart add more delay to every write. Asynchronous replication keeps writes fast, which is why it is common for copies kept at a distant site.

### Availability

If a replica stops responding, synchronous writes can stall until it is replaced or the system is told to wait for fewer copies. Storage systems usually mark the copy as failed, keep writing to the others while enough copies remain, and rebuild the missing one in the background.

## What does synchronous replication not protect against?

Every copy receives every write, including the wrong ones. A deleted table, a corrupted file or a bad migration reaches all replicas just as fast as good data does. Replication also usually keeps its copies close together for latency, so all of them can be lost along with the site. Backups and snapshots kept somewhere else cover both cases.

## How enum handles synchronous replication

[enum Block Storage](/block-storage) puts volumes on NVMe and acknowledges a write only once it has landed on three independent failure domains. A single host or disk failure causes no data loss or downtime, and a median 4K random write on three replicas takes about 1 ms. All three copies are in one zone, so keep backups elsewhere.

## FAQ

**Is synchronous replication the same as a backup?**
No. Replication copies every change at once, including deletions and corruption, so all copies end up equally wrong. A backup is a point-in-time copy you can restore from after a mistake, ideally kept in another location.

**Why not replicate synchronously to a second site?**
Every write would wait for the round trip to that site, and longer distances mean slower writes for every application. A common setup replicates synchronously within one zone and copies data asynchronously or as backups to another.

**How many replicas do I need?**
Two copies survive one failure, but leave a single copy while the lost one is rebuilt. Three copies keep two during a rebuild, so a second failure in that window still loses nothing.
