Stream Processing Smackdown: Kafka Streams vs. Apache Flink
summary
Compares Kafka Streams (a JVM library tightly coupled to Kafka) and Apache Flink (a standalone cluster engine) by showing concrete choices: Kafka Streams uses local RocksDB state with changelog topics for backup and built‑in exactly‑once via Kafka transactions, Flink uses checkpoints and watermarks with task managers for flexible connectors and advanced windowing. Demonstrates a delayed‑flights example (15‑minute threshold), shows state materialization, repartition topics, and a fat JAR submitted to Flink; both approaches work but recovery and scaling tradeoffs differ.
AI-written summary · about
chapters (15)
- 0:00Stream processing battle intro
- 1:46What is stream processing
- 2:48Kafka deep dive
- 8:53Kafka producers consumers partitions
- 15:25Contenders: Kafka Streams vs Flink
- 17:31Kafka Streams architecture
- 22:56Flink architecture
- 26:50State management comparison
- 30:23Scalability comparison
- 33:57Window operations
- 36:46Exactly once guarantees
- 40:03Kafka Streams vs Flink choice
- 41:51Flink vs Kafka Streams choice
- 43:16Live demo
- 48:13Q&A
related talks
42mStream Processing with Apache Flink
42mDistributed Real Time Stream Processing: Why and How
29mApache Kafka and the Next 700 Stream Processing Systems
39mEvaluating Streaming Framework Performance for a Large-Scale...
41mStream Processor as a Database: Building Online Applications
31mEvent Streaming with Kafka Streams
23mBetter, Faster, Stronger Streaming: Your First Dive into Flink SQL
43mUnified stream and batch processing with Apache Flink’s relational APIs
