Architecture / Components
- Nimbus and Supervisor daemons are designed to be
- fail-fast (process self-destructs whenever any unexpected situation is encountered)
- stateless (all state is kept in Zookeeper or on disk)
- Nimbus and Supervisor daemons must be run under supervision using a tool like daemontools or monit.
- So if the Nimbus or Supervisor daemons die, they restart like nothing happened.
Graph of computation where the
nodes represent some individual computations and
edges data being passed between nodes
Ordered list of values
Storm provides mechanisms for assigning names to the values.
Unbounded sequence of Tuples.
Source of stream in a topology
Accepts tuple from input stream
performs computation / transformation
Emits a new tuple to its output stream
**Each spout and bolt will have one or many individual instances that perform all of this processing in parallel
tells Storm how to send individual tuples between instances of the spout and bolts
Shuffle Grouping: tuples are emitted to instances of bolts at random