Consultas DRPC con Trident

Trident es una abstracción de alto nivel sobre Storm para facilitar el procesamiento de streams stateful.
Trident permite realizar joins, agregaciones, groups, funciones y filtros sobre los datos recibidos. Para saber más sobre Trident podéis mirar (entre otras muchos sitios) el API de Trident y el post un poco de Trident.

Storm permite ejecutar RPC (Remote Procedure Call) de forma distribuida mediante la topología DRPC.

StormDRPC

Un ejemplo sobre como utilizar Trident para realizar consultas sobre el típico caso de la cuenta de palabras sería este:

  • Creamos el Spout para el test

TridentSpoutTest

  •  Creamos la topología para el contado de las palabras

TridentStatewordCounts

  • Creamos la topologia DRPC para las consultas del numero de ocurrencias de las palabras

TopologynewDRPCStream

  • Para realizar las consultas utilizamos el método execute del DRPC

Consultas

La clase completa TridentWordCount.java quedaría de la siguiente manera:

TridentWordCount

Y el resultado de la ejecución de la clase con las cuatro consultas nos muestra algo como esto:

ocurrencias

¿Qué es TorqueBox?

TorqueBoxes una plataforma para el desarrollo de aplicaciones sobre Ruby que soporta tecnologías como Ruby on Rails y Sinatra, y además incluyendo servicios para mensajería, planificación, cacheo, tareas asíncronas, …

TorqueBox incluye un entorno complete cosntruido sobre JBoss AS y JRuby, lo que le da capacidades de clustering, HA, balanceo de carga out-of-the-box.

A finales de agosto se publicó la versión 3.0.0 (http://torquebox.org/news/2013/08/29/torquebox-3-0-0-released/)