2012-02-06 20 views
8

He estado buscando en Esper (y Storm) para el procesamiento de flujo ... Esper parece hacer exactamente lo que quiero ... es decir, medios de roling, medianas, consultas complejas, etc ... pero una cosa me tiene preguntando.¿Cómo escalar con ESPer?

¿Cómo escalaría a múltiples instancias con Esper?

Por lo que tengo entendido, Storm maneja el procesamiento distribuido, pero con Esper estás solo.

No necesitaría hacerlo para el futuro futuro, pero a medida que crezcamos, también lo harán nuestros volúmenes de datos. Lo más probable es que nos desplegaríamos en Amazon EC2.

¿Tendría que ejecutar varios servidores y datos shard antes de enviarlos a mi aplicación Esper?

¿Hay una forma más elegante de manejarlo?

-Sajal

Respuesta

9

Puede ejecutar una instancia Esper dentro de un perno, lo que significa que la tormenta se encargará de tupla/federación evento y Esper se encargará de la CEP sobre los eventos que recibe en un perno dado.

Esto tiene algo de código y la información acerca de incrustar Esper en un perno tormenta: http://tomdzk.wordpress.com/2011/09/28/storm-esper/

Sin embargo ... Es necesario tener un caso de uso que soporta motores Esper relativamente sin estado el manejo de un subconjunto de datos.

Por ejemplo: calcula la temperatura media diaria por ciudad. Si no distribuye sus tuplas usando agrupación aleatoria en función del campo de la ciudad, entonces cada perno de Esper podría tener un conjunto diferente de datos por ciudad.

Básicamente, asegúrese de leer sobre cómo se distribuyen los datos en una topología de tormenta antes de comprometerse con esta arquitectura.

+0

Ese es un enfoque interesante. Sin embargo, en nuestro caso, parece que una sola instancia de Esper estaría bien para un futuro viable, después de eso podemos hacer storm + esper, o podemos fragmentar manualmente. Usando su ejemplo de temperatura, estaríamos rastreando de 10 a 15 ciudades, cada una obtendría una cantidad par de datos, y cada ciudad se puede procesar completamente por separado, y solo los resúmenes se pueden comparar más adelante. – sajal

+0

como sé que la mayoría de la función ESPer es el contexto base, en otra palabra está estatuto. ¿Cómo hacer que la tormenta envíe la tupla correcta al perno ESPer derecho? –

0

De su pregunta, parece que EsperHA es relevante? ¿Has mirado eso?

EsperHA es una solución completa para el evento del evento ESP/CEP de tiempo de inactividad cero. Combina Esper con el almacenamiento en memoria caché local en memoria, el desbordamiento resistente en el disco o la base de datos o la configuración en clúster con las capacidades de copia de seguridad calientes .

+0

Parece que EsperHA solo se ocupa de la replicación, no de la distribución. Mi pregunta es específicamente sobre la distribución de carga a múltiples instancias. No estoy preguntando sobre la disponibilidad. – sajal

+0

Conozco EsperHA, pero no lo he usado. Parece ser un producto pago, y nuestra tienda solo estaba explorando opciones gratuitas. – cmonkey