Iniciar sesión / Registrar Cuenta

Integración

¿Qué es la arquitectura basada en eventos?

La arquitectura basada en eventos es un modelo y una arquitectura de software que sirve para diseñar aplicaciones. En un sistema como este, la captura, la comunicación, el procesamiento y la persistencia de los eventos son la estructura central de la solución. Esto difiere del modelo tradicional basado en solicitudes.

Muchos diseños de aplicaciones modernas se basan en eventos. Estas se pueden crear con cualquier lenguaje de programación, ya que la expresión "basado en eventos" se refiere a un enfoque de programación, no a un lenguaje. La arquitectura basada en eventos permite un acoplamiento mínimo, lo cual la convierte en una buena opción para las arquitecturas de aplicaciones distribuidas y modernas.

Una arquitectura basada en eventos tiene un bajo nivel de acoplamiento porque los productores de eventos no saben qué consumidores de eventos están atentos a ellos, y el evento desconoce cuáles serán sus consecuencias.


¿Qué es un evento?

Los eventos son sucesos o cambios considerables en el estado del hardware o el software de un sistema. Un evento y su notificación no son lo mismo: la segunda es un mensaje que el sistema envía para comunicar a otra parte del sistema que se produjo cierto evento.

Los eventos pueden originarse por estímulos internos o externos. Se pueden generar con la actividad de un usuario, cuando hace clic con el mouse o pulsa una tecla; a partir de una fuente externa, como la salida de un sensor; o provenir del sistema, cuando carga un programa, por ejemplo.


¿Cómo funciona una arquitectura basada en eventos?

Esta arquitectura está compuesta por consumidores y productores de eventos. El productor detecta los eventos y los representa como mensajes. No conoce al consumidor del evento ni el resultado que generará este último.

Después de la detección de un evento, este se transmite del productor a los consumidores a través de los canales de eventos, donde se procesan de manera asíncrona con una plataforma de procesamiento de eventos. Cuando se produce un evento, se debe informar a los consumidores, quienes podrían procesarlo o simplemente verse afectados por él.

La plataforma de procesamiento de eventos ejecutará la respuesta adecuada para el evento y enviará la actividad en dirección downstream a los consumidores correspondientes. Esta actividad downstream corresponde al lugar en el que se verá el resultado del evento.

Apache Kafka es una conocida plataforma de transmisión de datos distribuida, que sirve para el procesamiento de eventos. Puede gestionar la publicación, la suscripción, el almacenamiento y el procesamiento de flujos de eventos en tiempo real. Apache Kafka admite una variedad de casos prácticos en los que la escalabilidad y el alto rendimiento son esenciales. Además, gracias a que reduce la necesidad de integraciones de punto a punto para el intercambio de datos en determinadas aplicaciones, puede reducir la latencia a milisegundos.

Hay otros administradores de eventos de middleware disponibles que pueden funcionar como plataforma de procesamiento de eventos.


Modelos de arquitecturas basadas en eventos

Una arquitectura de este tipo puede basarse en un modelo de publicación/suscripción o en un modelo de flujo de eventos.

Modelo de publicación/suscripción

Es una infraestructura de mensajería que se basa en suscripciones a un flujo de eventos. Con este modelo, una vez que se genera o publica un evento, este se envía a los suscriptores que necesitan estar informados al respecto.

Modelo de transmisión de eventos

Con este modelo, los eventos se escriben en un registro. Los consumidores no se suscriben a un flujo de eventos, sino que pueden leerlo desde cualquiera de sus partes y unirse a él en cualquier momento.

Hay varios tipos de flujo de eventos:

  • El procesamiento de flujos de eventos utiliza una plataforma de transmisión de datos, como Apache Kafka, para incorporar los eventos y procesar o transformar su flujo. Este procesamiento se puede utilizar para detectar patrones significativos en los flujos.
  • El procesamiento de eventos simple surge cuando un evento desencadena inmediatamente una acción en el consumidor.
  • El procesamiento de eventos complejo requiere que un consumidor de eventos procese una serie de ellos para detectar patrones.

Beneficios de la arquitectura basada en eventos

Con una arquitectura basada en eventos, las empresas obtienen un sistema flexible que se adapta a los cambios y toma decisiones en tiempo real. Conocer la situación en tiempo real implica que las decisiones empresariales, ya sean automatizadas o manuales, se pueden tomar utilizando todos los datos disponibles que reflejan el estado actual de sus sistemas.

Los eventos se captan a medida que ocurren desde sus fuentes, como las redes, las aplicaciones y los dispositivos de Internet de las cosas (IoT), lo cual permite que los productores y los consumidores de eventos compartan información sobre el estado y la respuesta en tiempo real.

Las empresas pueden incorporar la arquitectura basada en eventos a sus sistemas y aplicaciones para mejorar la escalabilidad y la capacidad de respuesta de las aplicaciones, y para acceder a los datos y al contexto necesarios para tomar mejores decisiones empresariales.


¿Por qué elegir Red Hat para la integración ágil?

Actualmente, las arquitecturas basadas en eventos y las aplicaciones nativas de la nube sin conexión directa que se desarrollaron con los métodos ágiles y de DevOps necesitan un enfoque de integración igualmente ágil y escalable.

La visión de Red Hat sobre la integración ágil es solo eso, un enfoque para conectar sus recursos que combina tecnologías de integración, técnicas de distribución ágil y plataformas nativas de la nube para mejorar la velocidad y la seguridad de la distribución de software.

Red Hat proporciona las plataformas de integración y los sistemas de software de gestión que le permiten conectar los microservicios y las tecnologías heredadas en todos los entornos de nube híbrida con rapidez, y respaldan su arquitectura basada en eventos con la integración ágil.

Soluciones de integración de Red Hat

Red Hat Fuse logo

Red Hat Fuse es una plataforma de integración distribuida con opciones de implementación independiente, en la nube y con iPaaS. Con el uso de Fuse, los especialistas en integración, los desarrolladores de aplicaciones y las personas que utilicen los sistemas en la empresa pueden desarrollar soluciones conectadas en el entorno que prefieran de manera independiente. Esta plataforma unificada permite que los usuarios colaboren, accedan a las funciones de autoservicio y cumplan con las políticas gubernamentales.

Red Hat AMQ

Red Hat® AMQ es una plataforma de mensajería flexible que se basa en comunidades open source como Apache ActiveMQ y Apache Kafka, y transmite información de manera confiable, lo cual permite la conexión al Internet de las cosas (IoT) y la integración en tiempo real.

Siga analizando la integración con Red Hat