CAP & PACELC
What you must give up during a partition, and the latency choice the rest of the time.
2 to work through
-
advanced
Classify DynamoDB, Spanner and Cassandra under PACELC, and say which half of the classification you would actually design around.
2 min answer -
advanced
You run active-active across two regions. The link between them fails. What should each region do, and what would you have designed differently?
2 min answer
3 terms in this topic
Harvest and Yield
A refinement of CAP that treats availability as a continuum — yield is the fraction of requests answered, harvest is the fraction of data reflected i…
conceptPACELC
An extension of CAP that also describes the normal case — if Partitioned choose Availability or Consistency, Else choose Latency or Consistency.
conceptPartition Tolerance
The ability to keep operating when the network drops or delays messages between nodes — not a choice, but a property of any system spanning more than…
Neighbouring topics
Distributed Systems
General material on partial failure, coordination and distributed reasoning.
Consistency Models
Linearizable, sequential, causal, eventual, and the session guarantees between them.
Idempotency
Making an operation safe to repeat, because a client that times out cannot know.
Retries & Backoff
Exponential backoff, jitter, retry budgets, and how retries become the outage.
Timeouts & Deadlines
Per-hop timeouts that do not compose, and the deadline budget that replaces them.
Circuit Breakers
Failing fast on a broken dependency, and what you fail fast to.
Backpressure & Flow Control
Telling callers to slow down instead of buffering into congestion collapse.
Load Shedding
Rejecting some work deliberately so the rest can be served correctly.
Bulkheads & Isolation
Partitioning resources so one dependency cannot starve the others.
Leader Election
Agreeing who is in charge, and fencing the one who no longer is.
Consensus Protocols
Raft, Paxos and quorums — what they guarantee and what they cost.
Distributed Locking
Mutual exclusion across machines, and why it is harder than it looks.
Distributed Transactions
Two-phase commit, its blocking failure mode, and when it is still reasonable.
Sagas & Compensation
Replacing atomicity with semantic undo, and ordering the irreversible steps last.
Service Discovery
Finding a healthy address for something whose instances are ephemeral.
Messaging & Queues
Decoupling producer from consumer, and the semantics that come with it.
Event Streaming
Retained ordered logs, consumer offsets, partitions and replay.
Clocks & Ordering
Why wall clocks lie, and how logical clocks and versions restore order.
Failure Modes
Slow rather than down, partial, grey, and failing while reporting success.