Utiliza Apache Kafka como una cola robusta y distribuida que puede manejar grandes volúmenes de datos y le permite pasar mensajes de un punto final a otro.
Storm no es una cola. Es un sistema que ha distribuido capacidades de procesamiento en tiempo real, lo que significa que puede ejecutar todo tipo de manipulaciones sobre datos en tiempo real en paralelo.
El flujo común de estas herramientas (como yo lo conozco) es el siguiente:
sistema en tiempo real -> Kafka -> Storm -> NoSql -> BI (opcional)
Entonces, su aplicación en tiempo real maneja datos de alto volumen y los envía a la cola de Kafka. Storm extrae los datos de kafka y aplica la manipulación necesaria. En este punto, por lo general, le gustaría obtener algunos beneficios de estos datos, por lo que los envía a alguna base de datos Nosql para cálculos de BI adicionales, o simplemente puede consultar este NoSql desde cualquier otro sistema.