Storm input sources
Storm works well with a variety of input data sources. Consider the following examples:
Kafka
RabbitMQ
Kinesis
Storm is actually a consumer and process of the data. It has to be coupled with some data source. Most of the time, data sources are connected devices that generate streaming data, for example:
Sensor data
Traffic signal data
Data from stock exchanges
Data from production lines
The list can be virtually endless and so would be the use cases that can be served with the Storm-based solutions. But in the essence of designing cohesive but low coupling systems, it's very important that we keep the source and computation lightly coupled. It's highly advisable that we use a queue or broker service to integrate the streaming data source with Storm's computation unit. The following diagram quickly captures the basic flow for any Storm-based streaming application, where the data is collated from the source and ingested into Storm:
The data is consumed, parsed, processed, and dumped...