Systems spread across machines.
WHAT DISTINGUISHES IT
Independent machines, communicating over a network, with no shared memory or clock.
WHAT THAT INTRODUCES
Partial failure: some components fail while others continue
Network unreliability No global ordering of events Latency that cannot be ignored
WHAT PARTIAL FAILURE MEANS
You frequently cannot tell whether a remote operation succeeded, failed, or is slow.
WHY THAT IS THE HARD PART
The response is the same in each case: nothing.
WHAT THAT REQUIRES
Timeouts Retries Operations safe to repeat Reconciliation of uncertain outcomes
WHAT THE FUNDAMENTAL TRADE-OFF IS
During a network partition, a system can remain consistent or remain available, not both.
WHAT CONSENSUS PROTOCOLS PROVIDE
Agreement between machines despite failures.
WHAT THEY COST
Latency, and a requirement for a majority to be reachable.
WHAT CLOCK SKEW MEANS
Machines disagreeing about the time.
WHY THAT MATTERS
Ordering by timestamp is unreliable across machines.
WHAT TO USE INSTEAD
Logical ordering, or a consensus-based sequence.
WHAT TO ASSUME ALWAYS
That the network is unreliable, and messages may be lost, duplicated or reordered.