Your service calls another service. The call times out. Did it succeed? Did it fail? Is it still running? And if you retry-will you corrupt your data?
In distributed systems, "it worked on my machine" becomes "it worked in that datacenter."
82 principles. Zero hand-waving. Each follows the same rigorous format: a clear explanation, warning signs that reveal violations, and markers that confirm correct application. No "it depends" without explaining why.
Four chapters cover:
Distributed systems fundamentals-CAP theorem, consistency models, consensus, and why some problems have no solutionMessaging and integration-Enterprise Integration Patterns for routing, transformation, and reliable deliveryAPI design and contracts-versioning strategies, schema evolution, and the hidden cost of Hyrum's LawMicroservices architecture-service boundaries, sagas, discovery, and when to stay monolithicReach for this book when designing system boundaries, debugging timeout mysteries, or explaining why "just add a retry" is not a strategy.
Distributed Systems is Book 3 of the Software Development Principles series. Language-agnostic. Framework-independent. Built to last.
The network is unreliable. Latency is never zero. Services fail independently. These principles help you build systems that work anyway.