Writing Stream Processors in Kotlin
summary
Shows migrating Kafka Streams Java code to Kotlin and claims Kotlin cuts ceremony and boosts readability using extension functions and concise closures. Demonstrates a home automation pipeline: WebSocket source → Kafka Connect → Kafka Streams that group by node ID, window 2s, count >3, emit to a notification topic, sink writes back to WebSocket to trigger lights. Uses RocksDB for local state, protobuf for payloads, and reports ~80–100 ms processing time and end-to-end under 500 ms, and that the Kotlin DSL compacts the code.
AI-written summary · about
chapters (22)
- 0:00Intro
- 1:10Kafka
- 1:40Kafka Architecture
- 3:13Kafka Persistence
- 4:22Kafka Messages
- 6:25Event Streams
- 7:40Compaction
- 9:19Division
- 12:10Home Automation
- 13:05WebSocket
- 14:55Jason
- 15:45Serializer
- 17:05Extreme Person
- 18:30GroupBy
- 22:00Improvements
- 23:00Reusable Context
- 24:10Configure StreamContext
- 25:20StreamMotion Events
- 27:00Why Kotlin
- 27:20Engineering View
- 28:50Team Leads View
- 30:40Wrap Up
related talks
31mEvent Streaming with Kafka Streams
51mStream Processing Smackdown: Kafka Streams vs. Apache Flink
29mApache Kafka and the Next 700 Stream Processing Systems
43mThe Stream Processor as a Database
08mPREVIEW: Kafka Stream Processing for Everyone with KSQL
33mKafka streams at scale
49mLet’s Build a Streaming Data Pipeline!
41mApache Kafka and ksqlDB in Action: Let’s Build a Streaming Data Pipeline!
