Data processing with Kafka Streams and Spring Framework.
summary
Builds a three-part system: a Python Raspberry Pi sensor (mocked in demo) → REST service → Kafka topic consumed by a Kafka Streams microservice that computes 5‑second windowed averages and emits alerts when thresholds are exceeded. Uses Kafka Streams on top of Kafka, the Spring Cloud Stream Kafka Streams binder, and local state in RocksDB backed by changelog topics. Demonstrates exactly‑once processing (processing.guarantee=exactly_once), shows late records can be dropped because time is tracked per partition, and the demo runs end‑to‑end.
AI-written summary · about
chapters (33)
- 0:00Introduction
- 1:19About the speaker
- 2:30Origin of Kafka name
- 3:30Agenda overview
- 5:46What is Kafka Streams
- 7:19Use cases
- 10:08Core features
- 12:33Processor topology
- 15:15Microservices integration
- 17:56Spring Cloud Stream
- 19:07Project planning
- 22:25Building the REST service
- 24:54Data model creation
- 27:33Kafka integration
- 30:23Kafka producer testing
- 34:40Setting up Kafka topics
- 38:00Streams app setup
- 41:05Windowing concepts
- 43:52Live coding aggregations
- 47:33State management
- 50:20Alert processor logic
- 55:23Configuring bindings
- 1:01:12Testing the workflow
- 1:05:40Configuring transactions
- 1:08:42Kafka transactions
- 1:12:03Time management
- 1:15:36Handling late data
- 1:23:33Data skipping issues
- 1:26:48Deduplication strategy
- 1:29:16Stream time complexity
- 1:32:36Exactly-once processing
- 1:37:11Real-time commit config
- 1:40:07Production deployment
related talks
51mData processing with Kafka Streams and Spring Framework. Dmitriy Sergeev. Java Fest 2020 Online
01h 29mEvent stream processing using Kafka Streams
01h 11mBootiful Stream Processing!
27mStream processing with Kafka streams
40mEvent Streaming Applications with Kafka Streams, Spring Kafka and Actuator
50mSpring Kafka beyond the basics
48mSpring for Apache Kafka the advanced features
46mBuilding Self-Balancing Monitoring of Kafka Topic Processing Using Kafka Itself
