Recommended resources
The freely available resources this lesson will direct you to.
Hello. Previously, we examined why multi-leader replication can accept conflicting concurrent writes and why replicas need a convergent conflict-resolution rule. Leaderless replication takes a different path: there is no designated node that orders writes. Instead, a client (or a coordinator acting for it) contacts several replicas and considers an operation successful after enough of them respond.
This lesson develops the reasoning tool that makes that model intelligible: the quorum parameters , , and . By the end, you should be able to decide whether a configuration forces a completed write and a later read to share at least one replica, and identify the availability cost of that choice.
The basic leaderless model
For a given key, suppose its data is replicated across nodes. A write is sent to those replicas, often in parallel. The system acknowledges the write once replicas have confirmed that they stored it. A read asks replicas for their values and waits for responses from replicas.
The parameters mean:
| Parameter | Meaning | It controls |
|---|---|---|
| Number of replicas that normally store a key | Replication and baseline fault tolerance | |
| Number of replica acknowledgments required for a successful write | Write durability and write availability | |
| Number of replica responses required for a successful read | Freshness protection and read availability |
Importantly, is not necessarily the number of machines in the entire cluster. It is the replication factor for the particular key or partition being accessed.
A coordinator may send a write to all replicas but return success after receiving only acknowledgments. Similarly, it may contact several or all replicas on a read but return after obtaining usable responses. It does not need to wait for every message in either case.
This gives leaderless systems a useful form of fault tolerance. With and , one unavailable replica does not prevent a write from succeeding: the other two can acknowledge it. With , one unavailable replica also does not prevent a read.
Distributed Systems 5.2: Quorums
Watch “Distributed Systems 5.2: Quorums” by Martin Kleppmann for a concrete two-out-of-three example, followed by the formal definitions of the quorum parameters.
Watch the example, where a write reaches two of three replicas and a later read receives one current and one stale response. Then watch the quorum rule. Focus on the distinction between sending a request to replicas and waiting for the required number of successful replies.
Why the quorum condition works
The key condition is:
When this inequality holds, any set of replicas that acknowledged a write must overlap with any set of replicas that answers a read. There are simply not enough distinct replicas to keep the two sets disjoint.
Take the common configuration:
Then:
A successful write has reached two replicas. A read that receives two responses cannot select only the one replica that missed the write: it must include at least one of the two replicas that stored it. The reader can compare the returned versions and select the newest known value.

This is an intersection argument, not a claim that every replica is immediately updated. One replica may still be stale. The guarantee is narrower and more useful:
Assuming a write has been acknowledged by members of the same replica set, and a subsequent read obtains responses from that set, the read includes at least one replica that knows about the acknowledged write.
The client or coordinator must then know how to interpret the responses. If one response carries version and another carries later version , it returns . Systems may use timestamps, version vectors, or other version metadata for this comparison. If the versions represent genuinely concurrent writes, the system may need to return multiple versions or apply a conflict-resolution policy, just as in the previous lesson.
What fails when there is no overlap
Now consider:
Here:
The inequality is not strict: , not greater than . A write may succeed on replica A alone, while a read may receive replies only from replicas B and C. The read set and write set are disjoint, so both read replies can be stale.
This is why the rule uses , not .
Quorums are tunable, not one fixed setting
A majority quorum is common: choose both and to be more than half of . For , that means and ; for , it means and .
However, the values need not be symmetric. A system can bias the cost toward its less frequent operation.
| Configuration | Overlap? | Practical consequence |
|---|---|---|
| Yes | Balanced read and write fault tolerance | |
| Yes | Cheap, highly available reads; writes require every replica | |
| Yes | Cheap, highly available writes; reads require every replica | |
| No | Both operations are fast, but reads can miss acknowledged writes | |
| Yes | Read-oriented: reads wait for two, writes wait for four | |
| Yes | Write-oriented: writes wait for two, reads wait for four |
The availability arithmetic follows directly:
- A write requiring acknowledgments can tolerate at most unavailable replicas.
- A read requiring responses can tolerate at most unavailable replicas.
For instance, with , , and :
- the read can still succeed if two replicas are unavailable;
- the write cannot succeed if even one replica is unavailable.
Thus, increasing reduces the chance that an acknowledged write exists on only a small number of replicas, but makes writes less available and often slower. Increasing makes it harder for a read to avoid recently written data, but makes reads less available and often slower.
Dynamo | Apache Cassandra Documentation
Read the Cassandra documentation’s concise account of tunable consistency. It connects the abstract variables N, R, and W to operational consistency levels such as ONE, QUORUM, and ALL.
In “Tunable Consistency,” read the consistency-level overview. Pay particular attention to the statement that writes are sent to all replicas even though the requested consistency level determines how many acknowledgments the coordinator waits for. Then move to “Picking Consistency Levels” and read the overlap explanation. Notice how Cassandra expresses the same idea using replication factor, written there as RF, and how a quorum of three replicas means two responses.
A disciplined way to reason about a configuration
When you encounter a leaderless system described by quorum numbers, use the same sequence each time.
-
Identify the replica set. Determine , the number of intended replicas for the key in question.
-
Determine when a write is acknowledged. A client that has received acknowledgments may treat the write as successful. The remaining replicas can catch up later.
-
Determine what a read waits for. The reader needs responses before constructing an answer.
-
Test the intersection condition. Calculate whether
If true, every successful read quorum intersects every successful write quorum in at least one replica.
- Account for version selection. Intersection ensures that the reader sees a replica containing the acknowledged write. The returned response is correct only if the system can recognize that version as newer, or can surface concurrent versions for reconciliation.
Here is the reasoning for a read-heavy configuration:
A completed write is present on four replicas. Even though a read waits for only two responses, it cannot choose two replicas that both missed the write: only one replica could have missed it. One of the two responses must therefore include the acknowledged write.
Conversely, in a write-oriented configuration,
the inequality also holds. A successful write may be stored on only two replicas, but a reader waits for four responses, so it cannot avoid both of those replicas.
The same mathematical overlap can support very different operational priorities.
What quorum overlap does not promise
It is tempting to equate with “strong consistency.” That conclusion is too broad.
Quorum overlap gives a conditional, useful freshness property for a completed write followed by a read of the same replica set. But leaderless replication can still have behaviors that are not linearizable.
Concurrent writes can conflict
Suppose two clients write different values concurrently. Each can obtain enough acknowledgments to meet . Their write quorums may overlap, but the overlapping replica does not magically determine the intended business outcome. It may receive the writes in one order while another replica receives them in the opposite order.
The overlap rule does not resolve this conflict. The system still needs version metadata and a policy such as retaining multiple versions, merging them, or deterministically selecting one.
A failed write may have changed some replicas
A client may time out or receive fewer than acknowledgments, so it treats the write as unsuccessful. Yet one or more replicas may already have stored the new value. Another client may later encounter that value on a read.
In distributed systems, “the client did not receive success” is not the same as “no server performed the operation.” Network delays and failures prevent that conclusion.
Read and write can race
If a read begins while a write is still propagating, their operations overlap in time. Quorum logic alone does not impose a single global instant at which one definitively occurs before the other. A read may legitimately return the old or new version depending on the timing and the system’s protocol.
The sets must be the intended replica sets
The intersection proof assumes read and write quorums are selected from the same intended replicas. Some highly available systems temporarily write to substitute nodes when the intended ones are unreachable. That technique helps operations succeed, but the substitute sets may not overlap in the way the simple formula assumes.
The next lesson examines those mechanisms—read repair, anti-entropy, sloppy quorums, and hinted handoff—and why they improve availability and eventual convergence without automatically providing a strict freshness guarantee.
Key takeaways
Leaderless replication replaces a designated leader with coordinated contact to several replicas.
- is the number of replicas for a key; is the acknowledgments required to declare a write successful; is the responses required to complete a read.
- The condition
guarantees that every successful read quorum shares at least one replica with every successful write quorum.
- The shared replica makes a completed write visible within the set of read responses, while version metadata lets the system identify the most recent known version.
- Raising favors write durability and freshness at the cost of write availability; raising favors freshness at the cost of read availability.
- Quorum overlap does not itself solve concurrent-write conflicts, remove uncertainty around failed operations, or make leaderless replication linearizable.
Next, you will look at how leaderless systems repair replicas that missed writes and how techniques designed for availability complicate the neat quorum-overlap model.