Distributed Systems

CAP theorem

Under partition, choose Consistency or Availability.


In plain terms

Eric Brewer, 2000. Often misread — it's about behaviour during a partition, not a permanent trade-off. Most real systems are AP with bounded staleness.

Origin

Eric Brewer proposed it as a conjecture at PODC 2000. Seth Gilbert and Nancy Lynch proved a formalised version in 2002. Brewer revisited it in IEEE Computer (2012), arguing the popular framing ("pick two of three") was misleading — in practice the choice is only made during a partition.

Where it shows up in production
  • etcd & ZooKeeper CP — refuse writes during partition rather than risk a split-brain.
  • Cassandra (default) AP — accept writes everywhere, reconcile later. Tunable per query via consistency levels.
  • DynamoDB AP by default; transactions opt into stronger consistency at higher cost.
On Semicolony
Sources & further reading
Found this useful?