%0 Journal Article %A Ortiz Bellot, Guadalupe %A Bazán Muñoz, Adrián %A Lamersdorf, Winfried %A García de Prado Fontela, Alfonso %T Evaluating the integration of Esper complex event processing engine and message brokers %D 2023 %@ 2376-5992 %U http://hdl.handle.net/10498/29694 %X El gran avance y asequibilidad de las tecnologías, las comunicaciones y la tecnología de sensores ha llevado a la generación de grandes cantidades de datos en el campo del Internet de las Cosas y los entornos inteligentes, así como una gran demanda de aplicaciones y servicios inteligentes adaptados a las necesidades específicas de cada individuo. Esto ha conllevado la necesidad de sistemas capaces de recibir, enrutamiento y procesamiento de grandes cantidades de datos para detectar situaciones de interés con baja latencia, pero a pesar de los muchos trabajos existentes en los últimos años, estudiar sistemas de procesamiento de datos altamente escalables y de baja latencia sigue siendo necesario. En esta área, la eficiencia de la tecnología de procesamiento de eventos complejos (CEP) es de particular importancia y se ha utilizado en una variedad de escenarios de aplicación. Sin embargo, en la mayoría de estos escenarios no hay una evaluación de rendimiento para mostrar cómo se desempeña el sistema bajo diversas cargas y, por lo tanto, el desarrollador se enfrenta al desafío de desarrollar tales sistemas basados en CEP en nuevos escenarios sin saber cómo el sistema será capaz de manejar diferentes tasas de datos de entrada y abordar la escalabilidad y la tolerancia a fallos. Este artículo tiene como objetivo llenar este vacío proporcionando una evaluación de las diversas versiones de uno de los motores CEP más reputados: Esper CEP, así como su integración con dos reconocidos brokers de mensajería para la ingesta de datos: RabbitMQ y Apache Kafka. Para este propósito, definimos un punto de referencia con una serie de patrones de eventos con algunos de los operadores más representativos del motor Esper CEP y realizamos una serie de pruebas con una tasa creciente de datos de entrada al sistema. Hicimos esto para tres arquitecturas de software alternativas: integrando Esper de código abierto y RabbitMQ, integrando una instancia de Esper edición empresarial con Apache Kafka, e integrando dos instancias distribuidas de Esper edición empresarial con Apache Kafka. Medimos el uso de CPU, memoria RAM, latencia y tiempo de rendimiento, buscando la tasa de entrada de datos con la que el sistema se sobrecarga para cada patrón de evento y comparamos los resultados de las tres arquitecturas propuestas. Los resultados han mostrado un consumo de CPU muy bajo para todas las opciones de implementación y tasas de datos de entrada; un uso equilibrado de la memoria, bastante similar entre las tres arquitecturas, hasta una tasa de entrada de 10,000 o 15,000 eventos por segundo, dependiendo de la arquitectura y el patrón de eventos, y un tiempo de respuesta bastante eficiente hasta 10,000 o 15,000 eventos por segundo, dependiendo de la arquitectura y el patrón de eventos. Basándonos en un análisis más exhaustivo de los resultados, hemos concluido que las diferentes opciones ofrecidas por Esper para CEP proporcionan soluciones muy eficientes para el procesamiento de datos en tiempo real, aunque cada una con sus limitaciones en términos de brokers a utilizar para la integración de datos, escalabilidad y tolerancia a fallos; se han extraído una serie de sugerencias para que el desarrollador tome como base para elegir qué motor CEP y qué broker de mensajería utilizar para la implementación dependiendo del sistema en cuestión. %K Complex event processing %K Internet of Things %K Evaluation %K Esper %K RabbitMQ %K Apache Kafka %~ Universidad de Cádiz