Apache Kafka Book Review

Book Review: Apache Kafka 1.0 Cookbook

Written by: By Raúl Estrada
Published by: Packt Publishing
Summary: Over 100 practical recipes on using distributed enterprise messaging to handle real-time data
Publisher Link: Apache Kafka 1.0 Cookbook

This book is a cookbook, a compendium of practical recipes that are solutions to everyday problems faced in the implementation of a streaming architecture with Apache Kafka.

Target Audience For This Book

You are an IT professional who works with software development and data processing but you have yet no experience with using Apache Kafka. This book is for you because it won’t take a lot of your time talking about theory but get right into how to setup Kafka and what you can do with it to build bigger, better and more robust systems then you have ever done before you learned how to use Apache Kafka.

Getting Started

The author gets you started right away by showing you how to install on various platforms all the software and dependencies including Scala programming language and Apache Zookeeper. Then install Apache Kafka and configure it like a real world system in cluster mode on a single host and start the server processes right away with the initial recipes. Brokers in Kafka are the servers themselves. It is shown how to configure and start them.

Creating your first topics

Quickly in Chapter 1, you will be using the command line interface to create topics in Apache Kafka. Topics are the core abstract that are used to store data and read from data. They are a linear set of unalterable messages that can be published to and read from with a message counter. You will also learn the command line interface tools to list, describe and inspect the topics.

Command Line Tools

A recipe is shown for using basic command line tools for generating data and inserting into a topic. The various useful options for inserting data via the command line interface are shown. The same options can be used from code itself rather than the command line. Then the command line tools for reading from a topic are shown. Again the same can be done either via command line or by writing code.

Optimizing the Install

You can modify change the threading options for performance and the replica options for reliability. Logging options can be modified to fine tune how you want to debug the logs. Zookeeper settings can also be tuned for performance and scalability. Quick recipes to get started with tuning these are shown in Chapter 1.

Core Content of Book

After the basics are covered the book goes into more advanced topics such as:

  • Clustering: Different recipes for common topologies of deployment
  • Message Validation: Override Producer class and ensure all messages are valid before putting in topic
  • Message Enrichment: Override Producer and add more color to the data based on geolocation or any additional context
  • Confluent Platform: Confluent is leading Apache Kafka vendor, see what they offer as added value
  • Kafka Streams: Process data as it comes into a topic, Streaming, and handle data or write new data to a topic
  • Monitoring & Management: Learn the best practices and recipes for production monitoring and management
  • Security: Ensure you have secured your Kafka install with best practice recipes
  • Integration with Open Source Projects: HDFS, ElasticSearch and other systems you can integrate Apache Kafka with


After going through the recipes in this book, you will no longer be a newbie. Now you will have deployed both simple and real world Apache Kafka topologies. You have written to and read from topics, and you have processed data in a streaming fashion. You have the basic skills you need to start leveraging this powerful technology in the real world. Get the book from Amazon today and start your learning path with it.

(This post contains affiliate links. It is a way for this site to earn advertising fees by advertising or linking to certain products and/or services.)

About the author


A passionate Linux user for personal and professional reasons, always exploring what is new in the world of Linux and sharing with my readers.