Fallacies of Distributed Computing¶
Eight false assumptions that developers make when building distributed systems - each fallacy represents a real-world constraint that causes failures when ignored: networks fail, latency exists, bandwidth limits, security threats, topology changes, administrative boundaries, transport costs, heterogeneity.
Tension Addressed¶
Simplicity vs. Fault Tolerance
Recognizable As¶
Network timeout handling; retry logic with backoff; circuit breakers; health checks; service discovery; cross-datacenter considerations; bandwidth budgeting
Canonical Sources¶
Deutsch, "Eight Fallacies of Distributed Computing" (1994); Gosling added eighth fallacy (1997); Rotem-Gal-Oz, "Fallacies of Distributed Computing Explained" (2006)
Transfers To¶
Any networked system, microservices, mobile apps, IoT, cloud architecture, API design
These fallacies serve as a checklist during design reviews. Every distributed system bug can usually be traced to violating one of these assumptions. The fallacies are physical constraints, not implementation choices.