47
Distributed Systems
Fallacies of Distributed Computing
The hidden assumptions of networked code.
The article
If
Newcomers to distributed systems silently assume the network is reliable, latency is zero, bandwidth is infinite, the network is secure, topology is stable, there is one administrator, transport cost is zero, and the network is homogeneous. Every one of these eight assumptions fails in production.
Then
“Before shipping any cross-process call, name which of the eight assumptions you are relying on and add an explicit timeout, retry, and failure path for each.”
Unless
Design for Failure — without gold-plating against impossible modes
Source
L. Peter Deutsch (fallacies 5–7, 1994) and James Gosling (the 8th, ~1997), building on earlier work at Sun Microsystems.
Go to the sourceSee also