This chapter covers
- Evaluating higher-level abstractions versus more control
- Working with sources, processors, and sinks to create a topology
- Digging deeper into the Processor API with a stock analysis processor
- Creating a co-grouping processor
- Integrating the Processor API and the Kafka Streams API
We’ve been working with the high-level Kafka Streams API until this point in the book. A DSL allows developers to create robust applications with minimal code. The ability to quickly assemble processing topologies is an essential feature of the Kafka Streams DSL. It will enable you to iterate rapidly to flesh out ideas for working on your data without getting bogged down in the intricate setup details some other frameworks may need.
But at some point, even when working with the best tools, you’ll come up against one of those one-off situations—a problem that requires you to deviate from the traditional path. Whatever the case, you need a way to dig down and write some code that isn’t possible with a higher-level abstraction.