Apache Storm
maang.io System Design Series
Apache Storm pioneered real-time stream processing: you build a topology — a DAG of spouts (sources) and bolts (processing) — and tuples flow through it. Its clever acker tracks each tuple's tree with XOR checksums to guarantee at-least-once processing. Studying Storm shows why later systems like Flink adopted event time and exactly-once, and where Storm still fits.
This deep dive comes in three parts:
- Foundations & Core Concepts — topologies, spouts/bolts, and stream groupings.
- Internals — tuple-tree acking, Nimbus/supervisors/workers, and Trident, with worked examples.
- Interview — Staff/Principal Q&A: reliability semantics and Storm vs Flink/Spark.