Every enterprise application creates data, whether itâ??s log messages, metrics, user activity, outgoing messages, or something else. And how to move all of this data becomes nearly as important as the data itself. If youâ??re an application architect, developer, or production engineer new to Apache Kafka, this practical guide shows you how to use this open source streaming platform to handle real-time data feeds. Engineers from Confluent and LinkedIn who are responsible for developing Kafka explain how to deploy production Kafka clusters, write reliable event-driven microservices, and build scalable stream-processing applications with this platform. Through detailed examples, youâ??ll learn Kafkaâ??s design principles, reliability guarantees, key APIs, and architecture details, including the replication protocol, the controller, and the storage layer.
Pretty much what you expect from a "The Definitive Guide" book - it takes you through installing and using Kafka, how to work with it in production, how the internals work, and a laundry list of operations you might want to perform as an admin and how to perform those operations. It's thorough and complete and yet not overly long. It's more than you get from the documentation on the web, a bit better-written and more comprehensive. Plus, hey, it's free https://www.confluent.io/resources/ka...
Definitely recommended if you're getting into Kafka. My team was considering using Kafka for a product and I quickly came to feel like I knew what I was talking about during discussions just from reading the first half of this book. Unfortunately, we decided not to go with Kafka for the project but I finished the book anyway and I'd still recommend it.
Tech books written by (co-)authors of this particular tech are usually a safe bet. This is truth in this case as well. Even if this book is not yet polished enough (Early Access) it's currently the best (by faaar) book-resource on Kafka you can find.
Pros: * internals (mainly Chapter #5) - this is a single, good enough reason to pay for whole book :) * very thorough approach to Kafka architecture & its implications w/o spending 100 pages on what is CAP theorem, BASE & fallacies of distributed systems * detailed approach to JVM (official) client * awesome chapter on monitoring & metrics - how to find out what is really going on * fortunately authors didn't fall into a trap of making this book an advertisement of their platform (Confluent) - thanks for that :)
Cons: * chapter on monitoring is good, but I'd like some more content on (everyday) operations in general * Streams chapter is very brief & lacks depth * there's no straightforward comparison with other, similar technology; in fact some stuff may be read "between verses", but I've expected a bit more * there's almost nothing on binary client (non-JVM ones)
In general: Great stuff. Kafka has tremendous prospects for future, so getting familiar with this book (& this technology) is a must for every polyglot architect.
Why I read it: The book is presented as ‘a fun read for those interested in distributed systems’. And I am one of those people. + Kafka is one of the tools used in my workplace, so thought it would be nice to know more about it.
What I liked about it: It actually was a fun read. Everything was explained well and with simple language. I did not struggle while reading it at all. It provided in depth knowledge on Kafka – main concepts, how things work, how things should be configured to get a desired effect etc. It also managed to put this information in context – discussing things like data pipelines, peculiarities of multiple data center operations, monitoring and alerting in general.
What I disliked: I might not have been the target audience for the book. The book went really really in depth into various configurations, scripts you can run etc. And I wanted to just familiarize myself with Kafka architecture.
Quote:The same way that sharks must keep moving or they die, consumers must keep polling Kafka or they will be considered dead.
A great book. The concepts, while hard, are explained carefully. The pace of the book is nice as well.
I would consider this book a 5-star book without the unreasonable number of occurrences of the world "simply". It was unnerving and unnecessary. But if you care about Apache Kafka, this is a required reading.
Really good book for Kafka newcomers. Covers all of the topics which developers or application architects would be interested in while choosing a use case specific integration solution. I find the book being detailed enough, so one will not get bored reading it. Of course it is important toremember that the books covers Kafka itself and not 'will it fit my case?'. However, the authors focus on explaining Kafka in a way that it makes easy to understand if Kafka is the right solution for your needs.
I read this book to start my understanding of Kafka and its usage. I found the book very helpful. It's a good book for anyone needing to setup and use Kafka.
A very comprehensive and easy to read guide in the world of Kafka. Good explanations and even better quick, short examples. Definitely would recommend.
Leitura bem maçante. É o típico formato do livro técnico, passa boa parte do tempo listando comandos, argumentos, coisas que daria pra ver na documentação e faz mais sentido consultar sob demanda mesmo.
A parte inicial do livro é a mais interessante, onde são apresentados os conceitos e alguns exemplos, dali tirei informação útil.
I think I had the wrong expectations for this book. Because of the similarity in title with Elasticsearch: The Definitive Guide I expected a book that guides me hands on into using Kafka. But it's more a reference, a very well written one though.
Apart from the first parts of the book which describes Kafka architecture and use cases, this book looks more like a documentation on Kafka, albeit one that does not get updated.
Really good book, maybe not the best tech book I've read so far but a good one.
This book is written by tech people for tech people and you feel it all the time, for me, it's a big plus. It explains most of the topics I'd like to know to start my journey with Kafka and for sure I'll be using it often. Next big thing is that I didn't found any advertisement for Confluent or Apache at all! That nice, there was more space for meaty stuff like:
-> Monitoring - this is the chapter I liked most. A lot of meaty stuff and How To Do It explanations. For sure this will be the part I'll keep coming back often. -> Consumers & Producers - a really good explanation of this topic. -> Configuration - good starting point to build a reliable data pipeline.
But to be fair there were two things which disappointed me a bit:
-> Kafka Stream - just lack of explanation & things behind this. It will be better just to skip this chapter and write more about connectors. -> Kafka Internals - a good and bad chapter at the same time. As I am not a Java guy I've been overwhelmed by number of Java-style code & lack of theory behind.
In general: a great book to learn what Kafka is about and how it works. An even better book to have it on hand in time of first steps of Kafka powered development.
The Good: - Good job simplifying a complex topic. - Well explain the different combination of settings/properties given different distributed system needs (trade-offs).
The Bad: - I'd have appreciate more in-depth insights in the internals instead of wasting paper space on giving javadoc style coding examples.
Also, it's Outdated. Not much. But still some important features like idempotency/exactly-once are missing. I did not put that in the "The Bad" as it was obvious when I bought it. I'm just mentioning it as you need to be aware of that while reading. You will need to visit the official documentation of the latest version.
Kafka and its ecosystem are huge and the book tries to cover a lot of ground, because of that some chapters are better than others and occasionally there are links to blog posts further explaining something(which I didn't like at first, but then realised that one can't fit everything about Kafka in one book). I think that it is a good, well structured book which gives a lot of details about core Kafka aspects and it will familiarise the reader with things surrounding Kafka.
I started reading this book with no prior knowledge about Kafka and I feel that I am better off now(in terms of knowledge about Kafka) than when I started it.
Quite good overview of the Apache Kafka, covering most of the aspects, including new additions, like, Kafka Streams.
The cons of the book are: - Errors, typos, etc. (list will be sent to authors) - as I see, they mostly are from the fact that work on the book started long time ago - Some topics are covered not very deep, and reader should reference the official documentation. For example, authentication is just mentioned, without saying how to setup it & how to use from clients.
This book is a complete trip through all of the topics around kafka - I should have listened to the wording "definitive guide". My intention was to understand the idea of kafka, what risks might be and I think the book did a good job.
For my opinion, there was way too much explanation of all the various config options, I think the manual contains this kind of explanation as well. Still, all the config options and the notes, that you have to figure out the best mix on your own isn't really assuring.
Very interesting introduction to Kafka with just right amount of details. Plenty of practical examples and advice which is quite helpful when you are running Kafka in production. I especially enjoyed chapter about Kafka internals.
The only "bad" think about the book is ton of typos and formatting errors (partially converted markdown, typos, etc), but given that it was pre-release I assume it is going to be edited appropriately.
A solid introduction to Kafka with a good overview of the architecture as well as the programming api. It also covers the Kafka internals, Kafka admin and monitoring the Kafka clusters in great detail.
I found the book to be approachable and quite easy to follow along.
The only con I think is that the book requires a new version as it covers Kafka 0.10 while the current stable version is Kafka 2.2!
If you disregard the fact that something that claims to be a "definitive" guide skims over a lot of usage patterns and best practices, the book was actually a very nice read - informative, to the point, dives deep enough into Kafka architecture and implementation details to give you a clear picture of how it works and what you should expect when using Kafka but also omits enough information so that it doesn't overwhelm you at any point.
The book does a great job of giving you a general overview of how to use Kafka effectively. I highly recommend it to anyone starting out with Kafka and doesn't want to fall into avoidable pitfalls later on with their Kafka setup.
The authors have vast experience using Kafka and do a great job of guiding you on various actions and their consequences. They also guide you on what to look out for.
A great book to get a better understanding of Kafka, but mainly to be used as a reference. It provides a lot of information regarding the internals of Kafka and its configuration, which gives a lot of insights on how to deploy, monitor and debug it. And most of the time the authors contextualize the information with software engineering principles and real-world use cases. Also, Kafka streams API seems very interesting.
This book is an interesting reading. As a person who has never used Kafka I've found enough information about when and how to use it. One minor inconvinience for me was that a lot of low level configuration and production concerns were described in the second chapter, at this moment I wasn't able to understand them.
Really good book for those running Kafka in production or considering to use.
There are really good informations about configuration options, recommended approaches when designing consumer/producers, Kafka guarantees of delivery in some scenarios, code examples, replication strategies, Kafka Connect patterns and so on.
Excellent technical guide to understand the essentials of Kafka. As usual with O’Reilly books, this guides uncovers the basics and most primordial architectural topics of using Kafka as part of a technical architecture. While the book does not cover Kafka Connect and Streams in deep, it serves as on boarding -definitive- guide on the subject. Recommended as introductory guide in the technology.