Apache Flink is a stream processing framework that continuously processes unbounded data streams with millisecond latency. Unlike Spark Streaming (which processes data in micro-batches), Flink is a true stream processor with a single code path for batch and streaming. Flink's strengths: event-time semantics (handles out-of-order data), exactly-once delivery, stateful processing, and scalability to millions of events per second. You define a DAG of operations, and Flink parallelizes and distributes it across a cluster.