IV · Distributed systems
Designing Data-Intensive Applications
What it does
The single most useful contemporary systems book. Replication, partitioning, consensus, stream processing, batch processing — each chapter is a survey with the right level of math and the right amount of opinion.
Who should read it
Read once a year. Required reading for any back-end engineer working above one machine.