Distributed Systems & Data
The hard limits of distribution, queueing, and data. These are the closest thing architecture has to laws of nature — ignore them and production will remind you.
- No. 024
CAP and PACELC
During a partition you choose consistency or availability; otherwise you trade latency against consistency.
- No. 025
Fallacies of Distributed Computing
The network is not reliable, latency is not zero, and bandwidth is not infinite. Design as if you know it.
- No. 026
Little's Law
Items in a system equal arrival rate multiplied by time in the system: L = λW.
- No. 027
Amdahl's Law
The speedup from parallelising is capped by the part that cannot be parallelised.
- No. 028
Universal Scalability Law
Beyond a point, adding capacity makes systems slower, because coordination costs outgrow capacity.
- No. 029
Data Gravity
Data attracts applications, services, and more data — and the bigger it gets, the harder it is to move.
- No. 030
Idempotency
Design operations so doing them twice has the same effect as doing them once.
- No. 031
Backpressure
When a consumer cannot keep up, it must be able to slow the producer — or the system falls over.
- No. 032
Eventual Consistency
Replicas may disagree for a while but converge when updates stop. Design the business around the window.