Intro
Data is copied throughout many servers to acquirehigh_availability andfault_tolerance in Distributed Systems, called replication. In copying data to all the replicas, an issue comes up: how to ensure that all the replicas have the same data and all the users can access the same data from all the replicas?
Synchronous replication We can use synchronous replication, in which the original node reports success to the user only when it has received acknowledgment from all the replicas. The original database waits until it has received acknowledgments from all replicas.
Problem in synchronous replication If any one of the replica nodes fails to acknowledge due to a network failure or fault, the original node cannot respond to the client until the failed node acknowledges. This causes an increase in the availability of the write operations.
Quorum as a solution A quorum in a distributed system is the minimal number of replicas on which a distributed operation (commit/abort) must be completed before proclaiming the operation’s success.
Let’s suppose we have three replicas of the database. The quorum in such an instance is the least number of machines that take the same action, commit or abort, for a particular transaction to determine the final operation for that transaction. So, in a cluster of three replicas, if two replicas acknowledge, the operation can be committed as two replicas make the majority. A quorum guarantees the required consistency for distributed operations.
Links
Read this story from Sunny Garg on Medium: https://medium.com/@sunny_81705/quorum-in-distributed-systems-37cbe17aae88