La topología en Storm es el mapa de Spouts y Bolts que muestran el flujo de los datos entre los distintos componentes de manera continua, realizando una analogía con Apache Hadoop la topología sería el MapReduce pero sin un fin en el tiempo.
Uno de los temas más importantes a la hora de diseñar una topología es definir el intercambio de los datos entre los componentes. Las agrupaciones de Stream especifican como son consumidas las tuplas por cada Bolt y de que manera.
Un stream en Storm es una secuencia ilimitada de tuplas.
Estas son las distintas agrupaciones de stream que existen en Storm:
- Shuffle Grouping
El envío de las tuplas a los bolts es aleatorio y uniformente. Sólo válido para operaciones atómicas
- Local o Shuffle
Si el Bolt de destino tiene una o más tareas en el mismo proceso de trabajo las tuplas se envían preferentemente a esos workers
- Fiels Grouping
El stream se divide por los campos especificados en la agrupación. Por ejemplo si un stream contiene un campo «user» forzaríamos que todas las tuplas con el mismo user irán a la misma tarea
- All Grouping
Los stream son replicados atraves de todas las tareas de los bolts
- Custom Grouping
Permite implementar una agrupación personalizada
- Direct Grouping
El productor de la tupla decide qué tarea del consumidor recibirá esta tupla
- Global Grouping
Envía todas las tuplas a un único destino
- None Grouping
Esta agrupación es para indicar que no importa cómo se agrupa la corriente. En la práctica es similar a la Shuffle




Deja un comentario