4 / 53

Consistency ModelsURL copied

Strong ConsistencyURL copied

LinearizabilityURL copied

Linearizability guarantees that every operation appears to take effect instantaneously at some point between its invocation and completion.

  • Reads see the latest committed write.
  • Clients do not need to reason about replica lag.
  • The price is coordination.
Copied
def write(value):
    quorum = await replicate_to_majority(value)
    return {"ok": quorum >= 3}
sequenceDiagram
  participant C as Client
  participant L as Leader
  participant F as Follower
  C->>L: write(x=1)
  L->>F: replicate(x=1)
  F-->>L: ack
  L-->>C: committed