Curated Tech Reading Map

Find your next tech book to read

Book

Understanding Distributed Systems, 2nd Edition

What every developer should know about large distributed applications

Roberto Vitillo

Buy on Amazon* The link above is an advertisement via Amazon Associates.

Summary

A survey of what it takes to build large distributed applications, organized in five parts. Communication covers TCP, TLS, DNS and HTTP APIs. Coordination is the most theoretical part: system models, failure detection, logical clocks, leader election, replication and consensus, weaker consistency models, and transactions, including sagas. Scalability follows a single CRUD web application as it scales out through caching, CDNs, partitioning, load balancing, replicated and NoSQL data stores, microservices and messaging. Resiliency covers common failure causes, redundancy, fault isolation, timeouts, retries, circuit breakers, load shedding and rate limiting. Maintainability covers testing, continuous delivery, monitoring and observability. The author says the book favors breadth over depth and points to external references for more.

Target Readers

  • Developers working on the backend of web or mobile applications, or who would like to be
  • Engineers who can build applications without knowing the network stack or consistency models, and end up spending hours debugging and re-architecting them

Tags

#distributed-systems#scalability#replication#reliability

Colophon

ISBN
978-1-83843-021-4
Published
Mar 2022

Get this book

* The link above is an advertisement via Amazon Associates.

Prerequisites

Next Books