Most Kafka books start with brokers, topics and partitions. This one starts with a problem.
We build the backend of a ride-sharing system, like Uber, and call it Kafka Taxi. Riders ask for rides, drivers send their location every few seconds, and the system matches them. The first version is one Python service and one Postgres database, and it is a good design: correct, tested and fast.
Then we put realistic load on it and watch it fail. We measure why. We try the cheaper fixes first: a bigger server, batched writes, Postgres notifications, Redis Streams and read replicas. Kafka only appears when the measurements show what it gives us that the others do not. Every number in the book comes from code you can run on your laptop.
This book also tells you when not to use Kafka. The most useful thing you can take from it is the ability to look at your own system and decide which side of that line it is on.
It is written in plain English for working backend engineers. You need to know HTTP and SQL. You do not need any background in distributed systems.
All seven chapters and the appendix are written. The appendix lists the exact versions and settings behind every measurement. When those versions change, I will update the book, and you get every update for free.
Companion code: https://github.com/badri/kafka-taxi-code