Jump to ratings and reviews
Rate this book

Apache Kafka

Rate this book
The book will follow a step-by-step tutorial approach which will show the readers how to use Apache Kafka for messaging from scratch.Apache Kafka is for readers with software development experience, but no prior exposure to Apache Kafka or similar technologies is assumed. This book is also for enterprise application developers and big data enthusiasts who have worked with other publisher-subscriber based systems and now want to explore Apache Kafka as a futuristic scalable solution.

88 pages, Kindle Edition

First published January 1, 2013

5 people are currently reading
25 people want to read

About the author

Nishant Garg

5 books

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
5 (10%)
4 stars
5 (10%)
3 stars
16 (33%)
2 stars
13 (27%)
1 star
9 (18%)
Displaying 1 - 15 of 15 reviews
Profile Image for Björn.
Author 1 book3 followers
July 8, 2014
There is not much in this book that cannot be found in the official project documentation as well. Even the code examples are rip-offs from the docs. Even worse: They are sometimes even broken, e.g. the MultiThreadHLConsumer never executes anything in any Thread! The author can never have tested his own examples, which is complemented very "well" by amateurish Java coding style: Casting main method arguments to String or ints to Integer, you name it. All in all a very disappointing book which was not even worth the 10$ during a publisher sale! Hands off! Read the documentation instead.

(see https://github.com/bkimminich/apache-... for fixed implementations of the code examples from this book running on Kafka 0.8.1.1)
Profile Image for Dexter Lowe.
2 reviews1 follower
January 2, 2014
When I received this book the first thing that struck me was its length. It is a very short book, weighing in at a mere sixty nine pages. Despite its brevity, it covers quite a wide range of topics. Some of these are very useful for newcomers, such as how to actually install Kafka and its design fundamentals. This well grounded approach to learning about Kafka continues throughout most of the book, making it excellent for someone looking to know more about Kafka and maybe wanting to play around with it.

This book is definitely focused more towards those beginning Kafka. It begins by discussing why Kafka is needed and some of the problems it solves. This is a good way to start the book as it focuses the reader on what Kafka is aimed at, allowing them to quickly determine if it fits their needs. Keeping with the beginner-centric approach it even explains how to install Kafka in several different modes, which will definitely help anyone looking to experiment in getting a working environment up and working very quickly. Throughout the book when it gives examples, which it does frequently, it mentions which type of cluster to set up as well as things like replication factor and partitions for the topics that are created as part of the examples. This hands-on approach means that by the end of the book, if the examples are followed faithfully, the reader will have a good idea how to set up and manage the various parts of a Kafka cluster in most of the common configurations I have come across. Some more advanced options are covered too, such as setting up several brokers on one machine and sharing one zookeeper instance.

Despite the clear focus on beginners, I believe this book is still useful even to those with some Kafka experience. At the time of writing I have been using Kafka 7 for around 6 months. This book has a section that concisely covers the differences between Kafka 7 and 8, how to set up both clusters and some of the other tools such as mirroring as well as briefly mentioning how to migrate from 7 to 8. The book as a whole is mostly focused on version 8 but is still useful for those wishing to experiment with 7. I think this is probably the best approach that could have been taken, as due to publishing time scales and how close version 8 is to a final release, version 8 is probably what most newcomers should use and the brief comparison will help existing users decide if they need to switch. The mention of migration was unfortunately missing concrete examples, but being as this is a beginner-focused book and only existing users would need this information, I can see why these were excluded. On the other hand, I think this attempt to keep the scope narrow backfires near the end of the book as it begins to look at integration with Storm and Hadoop. It vaguely mentions what these technologies are, tells the reader the vague approach and the classes to use. However, given the potential utility of these sections, they were sorely missing the easy-to-follow examples prevalent throughout the rest of the book, and I feel this puts them outside of the book's scope.

My favourite thing about this book is that it clearly defines its audience early on and sticks to it (right up to its last few pages). It is an excellent book for beginners, full of simple examples, diagrams and screenshots showing expected output. There is also a clear progression; it starts with setup and command line tools and progresses to more advanced custom programs. All in all it is a good introductory book, which covers all the topics often missed out of introductory texts, re-enforces past points and keeps the reader well grounded by explaining the reasoning behind Kafka's existence and design.

What I disliked most about this book was the final few pages. The blurb leads the reader to expect to come out knowing how to integrate Kafka with Storm and Hadoop, but the book only vaguely covers the approach the reader should take and some classes to read up on, making the last few pages feel very rushed. I have worked on a job that mirrored Kafka data to Hadoop and while I recognised the class names and approach were correct, it is a reasonably complicated task. Given what seems to be the book's target audience, I believe these pages do not really fit with the rest of the contents.

This book could definitely be improved by expanding the final chapter to include more beginner-friendly content. Also, at the time of writing, the final example in the section on writing consumers is very poor. It was clearly meant to be used to show how to build a multi-threaded consumer but once instantiated the executor service remains unused and the partitions are all consumed from the control thread. This means that the example appears to work but does not actually show multi-threaded consumption. This example can be fixed relatively easily, but given that multiple partitions consumed in parallel is probably one of the more common use cases it is disappointing that this error made it this far. The example itself seems not to have been properly thought out in terms of multithreading, as even if it is made to use many threads, the executor is immediately shut down once initialised so this needs refactoring. I have reported this error to the publishers and they are currently reviewing my suggested corrections, but it is worth mentioning that this example is incorrect to prevent frustration as readers try to apply what they have learned in real use cases.

Bottom line:

Buy this book: If you are new to or interested in Kafka or find the documentation a bit daunting, this is a good book to have and given its focus on Kafka 8 it should be relevant for a good while. It would also be a good book for anyone who needs to get up to speed on Kafka quickly.

Do not buy this book: If you are just interested in the chapter on integration with Storm and Hadoop (they are too brief and high level to be of much use) or you already know your way around Kafka.

You can buy this book from Packt Publishing
1 review1 follower
January 28, 2014
The new book "Apache Kafka" Packt Publishers by Apache KafkaNishant Garg is an excellent piece of effort by the author to simplify the complex technical topic to the consuming readers!
I found it very helpful in succinctly covering the information needed by developers to take-off and become
productive quickly. The treatment of various components of Kafka is logical, progressive and excellent to
grasp by the targeted audience who clearly seem to be developers/leads or devops. I would highly recommend it to devops in any organization hoping to process data big-time.
In many cases the book does serve like a quick and handy reference on Apache Kafka. While the author has good amount of effort expended on presenting the topics clearly for productive utilization by developers, the enterprise and integration architects may have more expectations. Topics that could have been added include practical performance numbers/metrics, stability and maintainability quirks/issues that have been encountered. Also, the future roadmap suggestion for the evolution of Apache Kafka is left out leaving the technical decision makers in organizations in doubt about the long-term plans for the great technology piece that is Apache Kafka."
3 reviews
January 28, 2014
I have lot of experience in using JMS and HornetQ, so I was very interested in seeing the Message Oriented Framework on the Zookeeper and Hadoop environment.
The book (http://bit.ly/1jdwenu) is quite short and it covers only basic features that are probabily the more requested by newcommers.

I have tested the installation and the example provided and everything went smooth, so this is a good pro. for beginners.

However the book missed some extra features that would have been very interesting for experienced user. The integration with Hadoop is described, but a short tutorial on how to create a single Hadoop node integration with Zookeeper and Kafka should have been described; so to allow the willing reader go further on the Kafka possibility.

I think that this is a good tutorial for beginners and for sure better than the Kafka on-line documentation. But I think that for the advances user the book is useless and the online docs should provide enough information on the subject.
Profile Image for Hector Cuesta.
2 reviews1 follower
February 1, 2014
This book presents a very short but useful introduction to one of the most interesting tools for publish-subscribe messaging in the Hadoop ecosystem. It covers a useful range of topics, including installation using a cluster-centric design and integration with Storm and Hadoop. The author is clear and the recipes are easy to follow. I highly recommend this book for who already works with Hadoop and wants a clear introduction to Apache Kafka to create a data backbone. http://bit.ly/1jdwenu
Profile Image for Sebastian Gebski.
1,185 reviews1,337 followers
July 28, 2014
No, no, no, NOOOOO!

Too brief, over-priced & will teach you nothing. Author doesn't even try to explain anything, he just pastes some trivial code fragments that perform the most basic Kafka activities. It made me feel like an idiot - you didn't bother to provide any explanations, just code samples to copy'n'paste. I don't really see any purpose in this book: reading Kafka documentation (regardless of how flawed it is) will bring far more benefit.

Stay away from this 'book'.
1 review2 followers
August 3, 2016
Probably i had a very different expectation after reading the Chapter titles in Table of contents. The book provides steps on install instructions and introduces some concepts for an absolute newbie who hasn't heard the word apache kafka. Otherwise i felt it like reading apache guide + www.michael-noll.com blog entries. This is in no way discouraging the author but i find the depth lacking.
Profile Image for Stefan Teixeira.
27 reviews4 followers
March 8, 2016
Yes, this is an introductory book to Apache Kafka, but the concepts are poorly explained, particularly in the first chapters. For sure it's a fast read (the book only has about 70 pages of content), but I guess it would be better to read the official documentation instead.
Profile Image for Julio Biason.
199 reviews28 followers
July 6, 2017
After reading the book, I ended up with more questions than I had when I started reading:

1. What Kafka is good for?
2. What are the use cases for Kafka?
3. When I should NOT use Kafka?
4. How Kafka compares to other options?
5. What is a topic?
6. How to create a pipeline to process information, in a way that I have multiple lines of processing?

Not only the book goes straight to "You install this way, you write a simple app, and that's it", it uses some very terse phrases, which makes really hard to read. Things like "This, at times, leads to redevelopment of information producers or consumers to provide an integration point between them", which is terse but has absolutely no information at all. There is even an introduction to Hadoop as "Resource sharing, stability, availability, and scalability are a few of the many challenges of distributed computing. Nowadays, an additional challenge is to process extremely large volumes of data in TBs or PBs." -- which says absolutely NOTHING about what Hadoop is and how it works.

Again, if you want to know less about Kafka, that's a good book for it.
Profile Image for Nicola.
9 reviews
December 20, 2017
A very soft reading, almost zero added value to official documentation.
Displaying 1 - 15 of 15 reviews

Can't find what you're looking for?

Get help and learn more about the design.