Skip to content

CAP Theorem and Consistency Models

In the presence of network partitions, a distributed system must choose between availability (responding to requests) and consistency (returning the most recent write); you cannot guarantee both simultaneously.

Tension Addressed

Consistency vs. Availability

Recognizable As

Consistency level configuration, eventual consistency, strong consistency, quorum reads/writes, split-brain scenarios, conflict resolution strategies

Canonical Sources

Brewer, "Towards Robust Distributed Systems" (CAP conjecture, 2000); Gilbert & Lynch, "Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services" (2002); Kleppmann, "Designing Data-Intensive Applications" (2017)

Transfers To

Distributed systems, caching strategies, multi-region deployments, offline-capable applications, any system requiring data replication

CAP is often misunderstood as always choosing two of three; in reality, partitions are inevitable in distributed systems, so the choice is between consistency and availability during partition events.