Stream Processing Systems — The Engines That Run It
The concepts of stream processing — events, time, windows, state, fault tolerance — are realized by a handful of systems, and choosing among them is one of the main practical decisions in building a streaming pipeline. This post maps the landscape: the engines, the models they embody, and how to think about which fits a problem. It's the bridge from understanding stream processing to actually running it.
The engines that implement stream processing: Flink (the heavyweight true stream processor), Spark Structured Streaming (micro-batch), Kafka Streams (library on Kafka), cloud-managed services, and the unifying Beam/Dataflow model. How to choose by state/correctness, ecosystem, ops capacity, and latency — plus the rise of streaming SQL.