14. Stream Processing
Chapter 14 of Kafka: The Definitive Guide — 11 sections.
Source: Kafka: The Definitive Guide, 2nd Ed., Ch. 14 The historical framing: "Kafka was traditionally seen as a powerful message bus, capable of delivering streams of events but without processing or transformation capabilities. ... many companies had a system containing many streams of interesting data, stored for long amounts of time and perfectly ordered, JUST WAITING FOR SOME STREAM PROCESSING FRAMEWORK TO SHOW UP AND PROCESS THEM. In other words, in the same way that data processing was significantly more difficult BEFORE DATABASES WERE INVENTED, STREAM PROCESSING WAS HELD BACK BY THE LACK OF A STREAM PROCESSING PLATFORM."
Since 0.10.0, Kafka ships Kafka Streams — "a powerful stream processing library as part of its collection of client libraries... This allows developers to consume, process, and produce events IN THEIR OWN APPS, WITHOUT RELYING ON AN EXTERNAL PROCESSING FRAMEWORK."
Sections
- 14.01Further reading — the chapter's own bibliography
- 14.12What is stream processing?
- 14.27Stream processing conceptsExamples used in the chapter: filter, count, group-by, left-join.
- 14.310Stream processing design patterns
- 14.42Kafka Streams by example① "Every Kafka Streams application MUST have an application ID.
- 14.54Kafka Streams architecture
- 14.6Stream processing use cases
- 14.71How to choose a stream processing frameworkNote that two of the four answers are "you may not want stream processing at all." That's an unusually honest framing for a chapter selling a stream processing library.
- 14.8Failure catalogWhat actually breaks in production — Ch. 14 consolidated
- 14.93Consolidated reference
- 14.10Self-testSelf-test