eviden-logo

Evidian > Products > SafeKit: All-in-One SANless High Availability & Application Clustering Software > Synchronous replication vs asynchronous replication

Synchronous replication vs asynchronous replication

Evidian SafeKit

Data loss or not on application failover?

There is a significant difference between synchronous replication vs asynchronous replication. According the choice, you may have data loss on application failover.

Synchronous replicationย as implemented by the SafeKit software is essential for failover of transactional applications. With synchronous replication, all committed data on the disk of the primary server are on the disk of the secondary server. With asynchronous replication, committed data on the disk of the primary server can be lost in case of failure because not copied to the secondary server. There is also an alternative solution named semi-synchronous replication, with committed data on the secondary server but not necessary on its disk.

To help you to take the right decision if you have to choose between synchronous replication vs asynchronous replication, we explain now the technical mechanisms and the impact on application failover.

Synchronous replication versus asynchronous replication means data loss or not on failover.

Synchronous replication

With synchronous replication as implemented by SafeKit, when a disk IO is performed by the application or by the file system cache on the primary server, SafeKit waits for the IO acknowledgement from the local disk and from the secondary server, before sending the IO acknowledgement to the application or to the file system cache. This mechanism is essential for failover of transactional applications when they commit their transactions.

Asynchronous replication

With asynchronous replication, the IOs are placed in a queue on the primary server but the primary server does not wait for the IO acknowledgments of the secondary server. So, all data that did not have time to be copied across the network on the secondary server is lost if the primary server fails. In particular, a transactional application loses committed transactions in case of failure.

Semi-synchronous replication

With semi-synchronous replication, SafeKit always waits for the acknowledgement of the two servers before sending the acknowledgement to the application or the file system cache. But in the semi-synchronous case, the secondary sends the acknowledgement to the primary upon receipt of the IO and writes to disk after. In the synchronous case, the secondary writes the IO to disk and then sends the acknowledgement to the primary.

Conclusion

With asynchronous replication, there is data loss on failure. Even with the semi-synchronous replication, there is data loss in the special case of a simultaneous double power outage of both servers, with inability to restart on the former primary server and the requirement to re-start on the secondary server. So be very careful when choosing synchronous replication vs asynchronous replication. Always prefer a synchronous or a semi-synchronous replication for a critical application.

Video: Synchronous replication vs asynchronous replication >

๐Ÿ” SafeKit High Availability Navigation Hub

Explore SafeKit: Features, technical videos, documentation, and free trial
Resource Type Description Direct Link
Key Features Why Choose SafeKit for Simple and Cost-Effective High Availability? See Why Choose SafeKit for High Availability
Deployment Model All-in-One SANless HA: Shared-Nothing Software Clustering See SafeKit All-in-One SANless HA
Partners SafeKit: The Benchmark in High Availability for Partners See Why SafeKit Is the HA Benchmark for Partners
HA Strategies SafeKit: Infrastructure (VM) vs. Application-Level High Availability See SafeKit HA & Redundancy: VM vs. Application Level
Technical Specifications Technical Limitations for SafeKit Clustering See SafeKit High Availability Limitations
Proof of Concept SafeKit: High Availability Configuration & Failover Demos See SafeKit Failover Tutorials
Architecture How the SafeKit Mirror Cluster works (Real-Time Replication & Failover) See SafeKit Mirror Cluster: Real-Time Replication & Failover
Architecture How the SafeKit Farm Cluster works (Network Load Balancing & Failover) See SafeKit Farm Cluster: Network Load Balancing & Failover
Competitive Advantages Comparison: SafeKit vs. Traditional High Availability (HA) Clusters See SafeKit vs. Traditional HA Cluster Comparison
Technical Resources SafeKit High Availability: Documentation, Downloads & Trial See SafeKit HA Free Trial & Technical Documentation
Pre-configured Solutions SafeKit Application Module Library: Ready-to-Use HA Solutions See SafeKit High Availability Application Modules
FAQ Frequently Asked Questions on Architecture, Technical specs, Features See SafeKit HA FAQ