Tuesday, February 5, 2019

Book review: Kafka The Definitive Guide

The book describes different aspects of Kafka. It shows how to install Kafka and the stuff you need to start it. Chapters 3-5 give you the general picture of how Kafka works, parts it consists of, overview of producers and consumers and how they can be used in Java code. The chapter 5 (Kafka internals) is really nice and written in a clear and understandable way. It explains basic blocks and approaches Kafka is built on. I should also highlight the last chapter which is about stream processing. It presents common design patterns and explains few examples where Kafka streams are really good. Everything else is about Kafka configuration and monitoring. You will definitely feel overwhelmed while going through that information.

I should admit that I've never worked with Kafka and expected to get needed knowledge to start using it after reading the book. But only few chapters, mentioned above, gave me the needed understanding and were valuable for me at this stage. Kafka is not that simple as it may look. There are a lot of configuration properties and trade-offs you should consider when using it. One of the conclusions I ended up after reading this book is that it is incredibly easy to shoot yourself in the foot while configuring Kafka.

I would recommend chapters 3-5, 11 if you are new to Kafka world. Other chapters can be used as references during the actual work with Kafka. The book provides a lot of problems you might encounter and explains how to deal with them. So, you may review the trade-offs behind those problems in detail when you really face with them.

Time spent on the book: ~20 hours

No comments:

Post a Comment