Apache Flink is the industry standard for stateful stream processing at scale. Unlike batch systems, Flink operates on unbounded event streams using a dataflow graph of operators. The hardest part of stream processing is handling time correctly: events arrive out of order, with delays, and you must decide when to close a window and emit results. Watermarks are Flink's mechanism for tracking event-time progress and tolerating late arrivals. This demo makes window types and watermark behavior interactive.
Tumbling windows: fixed, non-overlapping intervals (e.g., 1-minute buckets) - each event belongs to exactly one window
Sliding windows: overlapping intervals (e.g., 1-minute window every 30s) - events can appear in multiple windows
Session windows: gap-based, dynamically sized - close after a configurable inactivity period
Watermarks track event-time progress; Flink waits for watermark T before emitting windows closing before T
Late events arriving after the watermark can be routed to a side output rather than silently dropped
Flink dataflow graphs are DAGs of source → transform → sink operators, each running at configurable parallelism
Part of the EngineersOfAI Interactive 3D - free interactive visualizations covering every major concept in machine learning and AI engineering. Hover any element for a plain-English explanation. No code required.