¿Qué es un consumidor de eventos?

Un consumidor de eventos es un componente de la arquitectura basada en eventos (EDA). Los consumidores de eventos son aplicaciones, servicios, dispositivos o personas que se suscriben a un canal que proporciona información sobre eventos. Los eventos son un cambio en el estado de la información, los procesos o los sistemas empresariales clave. Son acciones que pueden ocurrir dentro o fuera de una organización o a la organización, como nuevas transacciones de clientes, cambios en el inventario, filtraciones de seguridad, correos electrónicos recibidos, artículos añadidos a un carrito de la compra, la finalización de un flujo de trabajo, etc.

Cuando se notifica a los consumidores de eventos sobre un evento, pueden responder realizando algún tipo de acción. Las respuestas pueden abarcar desde el envío de una alerta por correo electrónico o el procesamiento de las entradas de los usuarios hasta la activación de flujos de trabajo o el inicio de nuevos eventos. Una sola aplicación de EDA puede tener varios consumidores de eventos esperando para recibir información sobre una amplia gama de eventos. Entre los consumidores de eventos comunes se incluyen los sistemas de facturación, los motores de notificación, las plataformas de CRM, los microservicios y los sistemas bancarios.

¿Qué es la arquitectura basada en eventos?

El diagrama ilustra la arquitectura basada en eventos y el componente de los consumidores de eventos. El diagrama ilustra la arquitectura basada en eventos y el componente de los consumidores de eventos.

La arquitectura basada en eventos es un patrón de diseño de software que permite a los sistemas detectar, procesar, responder y compartir información sobre eventos en tiempo real. La mayor ventaja de los sistemas de EDA es su capacidad para comunicar datos en cuanto se produce un evento, lo que permite a los consumidores de eventos tomar medidas inmediatas.

Uno de los aspectos más importantes de la arquitectura basada en eventos es que los sistemas que generan y actúan sobre los eventos están desacoplados o acoplados de manera débil. Un sistema que consume eventos, por ejemplo, no es interdependiente de los sistemas que producen eventos y no necesita saber de dónde procede la información. Esto significa que el fallo de un servicio no causará problemas ni interrupciones en otros servicios.

La mensajería asíncrona es otra importante característica de la EDA. En lugar de comunicarse con un modelo de "solicitud y respuesta", en el que los sistemas deben esperar a que haya una respuesta antes de tomar medidas, los componentes de la arquitectura basada en eventos se comunican de forma asíncrona, avanzando sin esperar a escuchar a otros componentes. Esto permite a los sistemas de EDA destacar en el procesamiento en tiempo real y en la gestión rápida de enormes cantidades de datos, ya que los componentes pueden reaccionar a los eventos y procesar los datos inmediatamente.

¿Cuál es la función de un consumidor de eventos en la EDA?

Un consumidor de eventos es uno de los elementos clave de la arquitectura basada en eventos. Entre los componentes de la EDA se incluyen:

  • Eventos: los eventos son una señal de que algo ha sucedido o un cambio de estado.
  • Productores de eventos: los productores de eventos son sistemas como dispositivos del IoT, interfaces de usuario, bases de datos, API externas, motores de flujo de trabajo, servicios en la nube, supervisores de aplicaciones y otras tecnologías que generan y comunican eventos.
  • Mensajes de eventos: los mensajes de eventos, o notificaciones de eventos, contienen información sobre un evento. Normalmente, están en JSON o YAML.
  • Consumidores de eventos: también conocidos como suscriptores de eventos, los consumidores de eventos "escuchan" o reciben información sobre eventos e inician acciones en función de la información recibida. Los consumidores de eventos pueden realizar tareas como alertar a los equipos de seguridad de posibles filtraciones, actualizar los niveles de inventario, enviar correos electrónicos de confirmación a los clientes o activar un flujo de trabajo.
  • Routers de eventos: los routers de eventos permiten la mensajería asíncrona y la arquitectura acoplada de forma débil al actuar como intermediarios entre productores y consumidores. Los routers pueden ser buses de eventos, colas de mensajes, agentes de eventos o streams de eventos que reciben datos de los productores y los transmiten a los consumidores que se han suscrito a canales de eventos específicos.
  • Procesadores de eventos: los procesadores gestionan los datos de eventos recibidos por los consumidores, y se aplican reglas que inician nuevos eventos, inician tareas o realizan acciones. Los procesadores de eventos también dirigen, filtran y transforman los datos de eventos.

¿Qué ventajas ofrece el uso de consumidores de eventos?

Todas las organizaciones y las operaciones y los procesos empresariales están impulsados por los eventos y se ven afectados por ellos. Cuanto antes se pueda notificar a las organizaciones y responder a los eventos, mayores serán sus ganancias en eficiencia, productividad y competitividad. El uso de consumidores de eventos y una arquitectura basada en eventos permite a las organizaciones recibir notificaciones instantáneas de los eventos e inmediatamente tomar medidas que pueden beneficiar a una empresa y a sus clientes.

La arquitectura basada en eventos permite a las organizaciones:

  • Procesar datos en tiempo real. en la EDA, mensajería asíncrona significa que los componentes pueden comunicarse y procesar eventos tan pronto como se producen sin tener que esperar a las respuestas.
  • Responder rápidamente a eventos reales. La arquitectura basada en eventos mejora la capacidad de respuesta al realizar acciones de forma automática e instantánea cuando se producen eventos.
  • Escalar fácilmente. Dado que los componentes de la EDA están desacoplados o acoplados de forma débil, los componentes individuales pueden ampliarse o reducirse de forma independiente según lo exijan las cargas de trabajo.
  • Reducir el tiempo de inactividad. La EDA aumenta la resiliencia y la tolerancia a fallos al permitir que otros componentes sigan funcionando incluso cuando un servicio o sistema experimenta problemas.
  • Mejorar la integración y la interoperabilidad. La naturaleza desacoplada o acoplada de forma débil de la comunicación basada en eventos facilita que sistemas diversos trabajen juntos y compartan información.
  • Aumentar la velocidad. La EDA puede acelerar sus sistemas, ya que los distintos componentes no tienen que esperarse unos a otros.

¿Cómo reciben los eventos los consumidores de eventos?

Existen dos modelos principales para la publicación y el consumo de eventos.

Publicación/suscripción (pub/sub)

En este modelo, también conocido como modelo de mensajería de eventos, los consumidores de eventos se suscriben a varios temas y eligen recibir información sobre eventos específicos. Cuando un productor de eventos publica un evento, la información se envía a un agente que traduce o transforma la información si es necesario, pone en cola y almacena los datos y envía mensajes a los consumidores de eventos. Después de que los consumidores reciban los mensajes, el agente los elimina.

Entre los servicios de pub/sub más conocidos se incluyen Apache Kafka, Confluent, Simple Notification Service (SNS) de Amazon, Simple Queue Service (SQS) de Amazon, Azure Web Pub/Sub y Pub/Sub de GCP.

 

Modelo de streaming de eventos

En este enfoque, los consumidores de eventos se suscriben a los mensajes de eventos de streaming enviados a los agentes por los productores de eventos. A diferencia del modelo pub/sub, los mensajes son persistentes, lo que significa que se almacenan y se conservan durante un periodo de tiempo. Esto significa que los consumidores pueden entrar en un stream en cualquier momento y acceder a los mensajes de eventos de forma retroactiva. Los consumidores también pueden configurar la recepción solo de determinados eventos del stream, en lugar de recibir todos los mensajes publicados, como es el caso en el modelo pub/sub. El modelo de streaming de eventos también permite el procesamiento de eventos complejos, en el que los consumidores reciben e inician acciones basadas en la información de una serie de eventos.

Entre las empresas que proporcionan streaming de eventos se incluyen AWS EventBridge, AWS Kinesis, Azure Stream Analytics, GCP Dataflow y Apache Beam.

¿A qué tipos de eventos se suscriben los consumidores de eventos?

Los consumidores de eventos reciben una amplia gama de datos de eventos y actúan a partir de ellos.

  • Comercio electrónico: la arquitectura basada en eventos es un pilar de los sistemas de comercio electrónico en el que las respuestas inmediatas a las acciones de los clientes son esenciales para proporcionar una experiencia fluida.
  • Ciberseguridad: los consumidores de eventos pueden procesar eventos de seguridad en tiempo real para proporcionar alertas a los equipos de seguridad, bloquear archivos maliciosos o poner en cuarentena el tráfico sospechoso.
  • Microservicios: la EDA es una arquitectura ideal para la comunicación entre microservicios debido a su comunicación desacoplada, modularidad, escalabilidad y tolerancia a fallos.
  • Análisis de datos: muchos consumidores de eventos procesan y analizan datos en tiempo real para descubrir patrones y obtener información a partir de enormes cantidades de datos. Los sistemas de detección de fraudes son un ejemplo común de tecnología EDA diseñada para detectar anomalías en las transacciones financieras.
  • Supervisión: los sistemas de EDA son ideales para supervisar el estado de los recursos del sistema y alertar a los administradores cuando se necesite un mantenimiento predictivo o una intervención urgente.
  • Internet de las cosas (IoT): los sistemas de EDA pueden ingerir y supervisar fácilmente las enormes cantidades de datos producidas por los dispositivos del IoT para proporcionar supervisión y análisis en tiempo real.
  • Mercado de valores: los consumidores de eventos del sector bursátil son fundamentales para las estrategias automatizadas que ejecutan órdenes de compra/venta en función de las condiciones y los eventos en constante cambio en el mercado de valores.
  • Flujo de trabajo: los sistemas de EDA permiten flujos de trabajo automatizados mediante la activación de procesos y tareas en función de una amplia gama de eventos.

Preguntas frecuentes

Los términos "consumidor de eventos", "oyente de eventos" y "suscriptor de eventos" se suelen considerar sinónimos. Sin embargo, algunos consideran que "consumidor de eventos" es un término más amplio que se aplica a cualquier sistema que procese eventos, mientras que "suscriptor de eventos" se suele utilizar para describir agentes de eventos y canales de eventos, y "oyente de eventos" a menudo se usa en relación con bibliotecas o marcos de programación.

Los consumidores de eventos se configuran de diversas formas, en función de la pila tecnológica, la plataforma de mensajería o el marco que se implemente. Las organizaciones pueden configurar consumidores de eventos en sistemas de mensajería y middleware como Apache Kafka, RabbitMQ y AWS SNS/SQS; en marcos de programación como Spring, .NET o bibliotecas node.JS; en plataformas en la nube como AWS Lambda y Azure Functions; en plataformas de orquestación de contenedores como Kubernetes, o en plataformas como Drupal, Symfony y Microsoft Dynamics 365 Business Central.

Por qué los clientes eligen Akamai

Akamai es la empresa de ciberseguridad y cloud computing que potencia y protege los negocios online. Nuestras soluciones de seguridad líderes en el mercado, nuestra inteligencia ante amenazas consolidada y nuestro equipo de operaciones globales proporcionan una defensa en profundidad para proteger los datos y las aplicaciones empresariales. Las soluciones integrales de cloud computing de Akamai garantizan el rendimiento y una buena relación calidad-precio en la plataforma más distribuida del mundo. Las grandes empresas confían en Akamai, ya que les ofrece una fiabilidad, una escalabilidad y una experiencia inigualables en el sector, idóneas para crecer con seguridad.

Descubra todas las soluciones de seguridad de Akamai