Anuj Saxena walks through Kafka Streams and provides a quick example:
The features provided by Kafka Streams:
-
Highly scalable, elastic, distributed, and fault-tolerant application.
-
Stateful and stateless processing.
-
Event-time processing with windowing, joins, and aggregations.
-
We can use the already-defined most common transformation operation using Kafka Streams DSL or the lower-level processor API, which allow us to define and connect custom processors.
-
Low barrier to entry, which means it does not take much configuration and setup to run a small scale trial of stream processing; the rest depends on your use case.
-
No separate cluster requirements for processing (integrated with Kafka).
-
Employs one-record-at-a-time processing to achieve millisecond processing latency, and supports event-time based windowing operations with the late arrival of records.
-
Supports Kafka Connect to connect to different applications and databases.
Read on for more details as well as a sample script to get started.