Overview
Apache Flink is the leading open-source stream processing framework. Unlike Spark Streaming's micro-batch approach, Flink processes events one at a time with exactly-once semantics. It's the go-to choice for stateful stream processing at scale.
Key Features
- β True Streaming: Event-at-a-time processing
- β Stateful Processing: Managed state with checkpoints
- β Flink SQL: Stream processing with SQL
- β Exactly-once: Guaranteed processing semantics
- β Event Time: Proper handling of out-of-order events
- β Batch & Stream: Unified API for both
Pros
- π Best-in-class stream processing
- π Handles complex event processing
- π Strong exactly-once guarantees
- π Mature and battle-tested
- π Good Kafka integration
Cons
- π Complex to operate
- π Steep learning curve
- π Resource intensive
- π Smaller ecosystem than Spark
- π Debugging can be challenging
Best For
Teams with complex real-time processing needsβfraud detection, real-time analytics, complex event processing. When micro-batching isn't enough.
Founded: 2014 HQ: Apache Software Foundation