CLOUD CONCEPT

Synchronous Replication

Synchronous replication is a data-protection method that requires a write to satisfy replication acknowledgments from designated replicas before success is returned to the client.

Cloud Concepts Hub →

What is Synchronous Replication

Synchronous replication places replication on the write acknowledgment path, protecting successfully acknowledged changes against failures covered by the replication configuration. It can support a recovery point objective of zero for those failures, but adds write latency and makes write availability dependent on replica connectivity and acknowledgment rules.

Synchronous replication coordinates writes across multiple copies of data before reporting success. A primary database or storage system accepts a change, sends the required data or transaction log records to replicas, and waits for the configured acknowledgment condition. That condition might require one designated standby or a quorum of storage replicas. The exact guarantee depends on what each acknowledgment means: receiving a record in memory, persisting it to durable storage, and applying it so that queries can see it are different milestones.

The main business-continuity benefit is protection of acknowledged writes. If the primary fails after a transaction succeeds, a surviving replica that participated in the required durable acknowledgment can preserve that transaction. This supports a recovery point objective, or RPO, of zero within the defined failure scope. It does not imply a recovery time objective, or RTO, of zero. Failure detection, selection of a recovery target, database recovery, endpoint changes, and application reconnection can still interrupt service.

In cloud architectures, synchronous replication commonly operates across Availability Zones within one Region. This separates copies into different failure domains while keeping network latency relatively low. For example, an order-processing database can synchronously replicate committed transactions to a standby in another zone. If the primary zone becomes unavailable, the service can promote the standby without losing successfully acknowledged orders, assuming the failure is within the deployment's documented guarantees.

The cost is additional work and communication on the write path. Commit latency includes the required replica acknowledgments, so network round-trip time and replica storage performance affect application response time. Synchronous replication across geographically distant Regions is possible in some systems, but propagation delay can make it unsuitable for latency-sensitive workloads. A common design therefore combines synchronous replication within a Region with asynchronous replication to a disaster-recovery Region, accepting a different RPO for regional disasters.

Network partitions expose an important availability trade-off. If the required acknowledgments cannot be obtained, a system might block writes, reject them, or reconfigure its replication membership according to its documented safety rules. A configuration that falls back to asynchronous operation can continue accepting writes but changes the data-loss guarantee. Quorum rules, leadership election, and fencing must prevent isolated writers from independently accepting conflicting updates.

Synchronous replication does not mean every replica is immediately available for current reads. A replica may have durably received transaction logs without applying them yet, and read consistency depends on the database's read-routing and isolation behavior. It also does not mean all copies must acknowledge every write; quorum-based systems can remain safe while some replicas are unavailable. Conversely, a replica called a read replica or a deployment called Multi-AZ should not be assumed to use synchronous replication without checking its specific architecture.

Replication is not a backup because accidental deletion, corruption, or unwanted application updates can propagate to the replicas. Retain independent backups and point-in-time recovery capabilities. When improving an existing solution or designing a new one, define RPO and RTO separately for instance, zone, and Region failures. Then validate acknowledgment durability, failover eligibility, partition behavior, commit latency, and application retry handling through failure tests. A timeout can leave a client uncertain whether a transaction committed, so idempotent requests remain important even when replication protects the data.

Key aspects of Synchronous Replication

Synchronous replication protects acknowledged writes through coordinated replica acknowledgments, trading additional latency and connectivity dependencies for stronger recovery-point guarantees.

Replication before successful acknowledgment

The write path waits for the configured replica acknowledgment condition before returning success. Verify whether that condition guarantees durable persistence or only receipt, and whether replica application happens later.

Zero-RPO protection within a defined scope

Durably acknowledged writes can survive covered failures without data loss. Protection depends on replica placement, the failures tolerated, and recovery from an eligible replica rather than an arbitrary stale copy.

Write latency and distance sensitivity

Required replica communication adds latency to commits. Measure transaction response times under representative load and degraded conditions before choosing replication across zones or distant locations.

Quorum and partition behavior

Some implementations require acknowledgments from a subset of replicas rather than every copy. Understand when missing replicas cause writes to stop and whether any degraded mode weakens durability guarantees.

Replication and recovery are separate

Synchronous replication protects data, while failover procedures determine how quickly applications resume service. Test promotion, fencing, connection recovery, and retries against the required RTO.

Backups remain necessary

Replicas can reproduce logical mistakes and unwanted changes. Use independent backups and point-in-time recovery alongside replication to cover failures that redundant live copies cannot resolve.

Cloud services for Synchronous Replication

Amazon RDS and Amazon Aurora apply synchronous replication to database durability, while Amazon FSx for Windows File Server applies it to shared file storage in Multi-AZ deployments. An application using both a database and shared files must protect each dependency; replication in one service does not protect data stored in another. These services provide independent replication and failover mechanisms, not a single cross-service transaction. Coordinate application recovery, validate consistency between database records and files, and retain backups. Where asynchronous cross-Region replication is also configured, evaluate its disaster-recovery RPO separately from in-Region synchronous protection.

Amazon RDS image Amazon RDS

An RDS Multi-AZ DB instance deployment synchronously replicates to a standby in another Availability Zone and supports automatic failover; that standby does not serve read traffic. Distinguish this deployment from RDS Multi-AZ DB clusters, which use semisynchronous replication, and from conventional RDS read replicas, which generally replicate asynchronously.

Open Amazon RDS →
Amazon Aurora image Amazon Aurora

Aurora synchronously replicates writes to a quorum in its distributed cluster storage, which maintains six copies across three Availability Zones. Storage durability acknowledgments are distinct from Aurora Replica read freshness; Aurora Global Database replication to secondary Regions is asynchronous.

Open Amazon Aurora →