Kafka Streams : Real-time Stream Processing!

Author : Prashant Kumar Pandey
Publisher : Learning Journal
Release Date : 26 March 2019
eBook ISBN : 9789353517250
Paperback ISBN : 9789353518028
Pages : 350

Description

The book Kafka Streams: Real-time Stream Processing! helps you understand the stream processing in general and apply that skill to Kafka streams programming. This book is focusing mainly on the new generation of the Kafka Streams library available in the Apache Kafka 2.1.
The primary focus of this book is on Kafka Streams. However, the book also touches on the other Kafka capabilities and concepts that are necessary to grasp the Kafka Streams programming.
Apache Kafka is currently one of the most popular and necessary components of any Big Data solution. Initially conceived as a messaging queue, Kafka has quickly evolved into a full-fledged streaming platform. As a streaming platform, Kafka provides a highly scalable, fault tolerant, publish and subscribe pipeline of streams of events. With the addition of Kafka Streams library, it is now able to process the streams of events in real-time with millisecond responses to support a variety of business use cases. This book gives you a solid foundation to write modern real-time stream processing applications using Apache Kafka and Kafka Streams library.

Who should read this book

Kafka Streams: Real-time Stream Processing! is written for software engineers willing to develop stream processing application using Kafka streams library. I am also writing this book for data architects and data engineers who are responsible for designing and building the organization’s data-centric infrastructure. Another group of people is the managers and architects who don’t directly work with Kafka implementation, but they work with the people who implement Kafka Streams at the ground level.

What should you already know

This book assumes that the reader is familiar with the basics of Java programming language. The source code and examples in this book are using Java 8, and I will be using Java 8 lambda syntax, so experience with lambda will be helpful.
Kafka Streams is a library that runs on Kafka. Having good fundamental knowledge of Kafka is essential to get the most out of Kafka Streams. I will touch base on the mandatory Kafka concepts for those who are new to Kafka, and you should be able to learn Kafka Streams that is the main subject of the book.
The book also assumes that you have some familiarity and experience in running and working on the Linux operating system.

Kafka and source code version

This book is based on Kafka Streams library available in Apache Kafka 2.1. All the source code and examples in this book are tested on Apache Kafka 2.1 open source distribution.
Some chapters of this book also make use of Confluent Open Source platform to teach and demonstrate functionalities that are only available in Confluent Platform such as prebuild connectors, KSQL and Schema Registry.


Table of Contents

Preface
About the Author
About the Book
Chapter 01 - Dawn of Bigdata
Chapter 02 - Real-time Streams
Chapter 03 - Streaming Concepts
Chapter 04 - Why Apache Kafka
Chapter 05 - Why Messaging System
Chapter 06 - How Kafka Works
Chapter 07 - Streaming into Kafka
Chapter 08 - Producer Examples
Chapter 09 - Kafka Consumers
Chapter 10 - Kafka Streams API
Chapter 11 - Creating Topology
Chapter 12 - Types and Serialization
Chapter 13 - States and Stores
Chapter 14 - Aggregates and Tables
Chapter 15 - Timestamps and Windows
Chapter 16 - Joining Streams and Tables
Chapter 17 - Streams Architecture
Chapter 18 - Testing Streams Application
Chapter 19 - Interactive Query
Chapter 20 - Processor API
Appendix A - Setup and Configuration