Jump to section

¿Qué es una red de eventos?

Copiar URL

Una red de eventos es una infraestructura dinámica que permite enviar notificaciones a las aplicaciones en entornos distribuidos. En el contexto de la arquitectura basada en eventos (EDA), un evento es un cambio, una acción o una observación en un sistema que genera una notificación, la cual se envía a otros sistemas que reaccionan a él. Estas conexiones son posibles gracias a la red de eventos.

Para definir la red de eventos, primero es necesario comprender la EDA. Se trata de una arquitectura de software que se basa en la comunicación a través de los eventos, es decir, los cambios, las acciones o las observaciones en un sistema que generan notificaciones, las cuales se envían a otros sistemas que reaccionan a ellos.

Algunos ejemplos de eventos son un cambio en la dirección de facturación de un cliente; una acción como la emisión de un pedido nuevo; o una observación del nivel de carga de una batería o la lectura de la temperatura de un sensor. Cada uno de ellos representa información que procesarán otras aplicaciones. Es posible que varios usuarios reciban el mismo mensaje y que cada uno utilice los datos a su manera para lograr un objetivo específico.

La comunicación asíncrona y basada en eventos de la EDA es más adecuada para este tipo de transferencia de datos que la mensajería sincrónica tradicional, donde dos aplicaciones se conectan de manera directa, generalmente a través de interfaces de programación de aplicaciones (API) de HTTP, y ambos servicios deben estar disponibles y tener capacidad de respuesta para que la comunicación sea exitosa. Cuando un servicio no está disponible, no se puede procesar el mensaje, así que todo el sistema podría detenerse o fallar. La transmisión sincrónica no suele ser el método ideal para enviar grandes cantidades de información a diversos sistemas de una empresa. 

Por el contrario, la transmisión asíncrona se basa en los eventos y permite que varias aplicaciones se comuniquen de manera simultánea y casi de inmediato. En el caso de que un sistema no esté disponible para recibir un evento, la naturaleza asíncrona de la EDA garantiza que se entregue la notificación una vez que vuelva a estar activo.

Con la EDA, no es necesario que se sincronicen los tiempos de ejecución del productor y el usuario del evento, así que es ideal para las aplicaciones modernas y distribuidas.

En una empresa se pueden generar cientos o incluso miles de eventos por minuto en todos los departamentos. Por eso se debe buscar la manera de enviar una gran cantidad a diversas aplicaciones implementadas en una combinación distribuida de entornos locales y de nube. La red de eventos ofrece esta posibilidad para las empresas que se basan en ellos.

Se trata de una infraestructura dinámica que envía los eventos de los productores a los usuarios a través de una red de agentes interconectados. No depende de ningún entorno y está diseñada para acercarlos a diferentes plataformas de nube, sin tener que configurar la ruta y sin importar si las aplicaciones están implementadas en la nube pública, privada o híbrida, en una plataforma como servicio, en el Internet de las cosas o incluso donde no haya ninguna nube. 

La red de eventos permite que quien los publica y quien se suscribe a ellos utilicen los mecanismos propios de sus plataformas. Por lo tanto, un desarrollador de Node.js en un clúster de Kubernetes puede publicar un evento al que se puede suscribir un desarrollador de Java en un clúster diferente. Cualquier usuario puede utilizarlo sin importar el tipo de aplicación, la plataforma de desarrollo en la que se diseñó, la nube en la que se aloja ni la tecnología de mensajería utilizada.

Dado que la red de eventos puede transmitir información entre los sistemas independientemente del entorno, posibilita la integración sin conexión directa entre las aplicaciones, las bases de datos y los dispositivos heredados, y las aplicaciones más modernas basadas en microservicios y creadas en la nube.

Además, funciona como intermediaria entre diversos servicios de mensajería. Si bien Apache Kafka es una opción popular, en especial entre los desarrolladores de aplicaciones originales de la nube, también admite otras soluciones, como Knative Eventing, Cloud Events, HTTP y AMQP.

La red de eventos representa la última etapa del proceso de consolidación de la arquitectura basada en eventos, una vez que la empresa la adopta por completo. Aunque las interacciones asíncronas y los patrones de la EDA no son conceptos nuevos, la red de eventos aporta un enfoque innovador sobre la integración que se convertirá en la infraestructura de comunicaciones para la empresa del futuro.

Es habitual que se confunda la red de servicios con la de eventos debido a la similitud de sus nombres, pero se trata de dos conceptos diferentes. Mientras que la red de eventos es asíncrona, la de servicios respalda los sistemas sincrónicos más tradicionales de mensajería de solicitud y respuesta.

 

Ambas se complementan entre sí en la empresa, ya que ofrecen dos opciones de comunicación diferentes pero efectivas, de manera que los desarrolladores tienen la flexibilidad para elegir la mejor alternativa según la aplicación que diseñen. Sin embargo, la red de servicios no puede sustituir a la de eventos, dado que no admite las comunicaciones asíncronas basadas en eventos y resulta más adecuada para las implementaciones de un solo clúster.

La red de eventos debe ofrecer las siguientes funciones imprescindibles para satisfacer las demandas empresariales y mantener la promesa de una arquitectura basada en eventos:

  • Compatibilidad con varios servicios de mensajería, como Kafka, Knative Eventing, HTTP y AMQP, entre otros
  • Tolerancia a los errores para garantizar el envío confiable de mensajes, lo cual incluye la recuperación automatizada ante fallos en la red y el uso de destinos alternativos para los mensajes que no se puedan entregar
  • Respaldo de las conexiones multiprotocolo entre diferentes eventos, aplicaciones y plataformas de mensajería
  • Compatibilidad con las implementaciones locales y en la multicloud
  • Compatibilidad con las direcciones de multidifusión (todos los suscriptores reciben una copia de cada mensaje) o de difusión por proximidad (un suscriptor recibe una copia de cada mensaje)
  • Seguridad para las conexiones y la transmisión de mensajes de eventos

Casos prácticos de la red de eventos

Si la EDA se combina con la red de eventos, admite varios casos prácticos implementados en estructuras multicloud complejas y distribuidas con diversas pilas de aplicaciones. Los ejemplos que aparecen a continuación son solo algunos de los casos posibles.

Integración de microservicios

La red de eventos conecta fácilmente las aplicaciones basadas en microservicios entre sí, así como con las tecnologías heredadas.

Comercio electrónico

Permite procesar rápidamente las operaciones para garantizar interacciones rápidas y confiables con los clientes a través de los sitios web y las aplicaciones.

Asistencia al cliente

Posibilita la entrega rápida de los datos de interacción con los clientes, para que los equipos de asistencia puedan responderles de inmediato y crear una experiencia personalizada.

Servicios financieros

Ofrece la sincronización inmediata y con baja latencia de los datos comerciales a los proveedores de servicios financieros. También transmite información sobre operaciones sospechosas de manera instantánea para respaldar la detección de fraudes.

Conectividad del Internet de las cosas

Ofrece una conectividad confiable y adaptable del Internet de las Cosas (IoT) a los sistemas de backend, para que puedan procesar los indicadores de un conjunto casi ilimitado de sensores.

La red de eventos ofrece los siguientes beneficios a las empresas.

Capacidad de respuesta inmediata

El éxito empresarial se basa en la capacidad para reaccionar ante los cambios. Una de las principales ventajas de la red de eventos es la transmisión inmediata de datos como flujos de eventos a través de la EDA para posibilitar las respuestas oportunas. Se trata de redes muy eficientes que constituyen la vía más rápida entre el productor y el usuario del evento, y eliminan la latencia en los mensajes. De esta manera, las partes interesadas de la empresa obtienen la agilidad necesaria para reaccionar rápidamente a los problemas que requieren decisiones inmediatas.

Mejora de la experiencia del cliente

La red de eventos permite la entrega inmediata de los datos que utilizan los equipos que trabajan con los clientes y las tecnologías de comercio electrónico. De este modo, las empresas pueden satisfacer las necesidades de los clientes y mejorar su experiencia.

Reducción de los costos operativos

La red de eventos brinda información inmediata sobre la fabricación, las ventas, el inventario y los envíos para que las empresas puedan optimizar las operaciones, mejorar la eficiencia y reducir los costos.

Productividad de los desarrolladores

Con el respaldo de una red de eventos que no depende de ningún tipo de entorno, sistema de mensajería ni protocolo, los desarrolladores de aplicaciones pueden centrarse en la implementación de la lógica empresarial utilizando las mejores tecnologías disponibles. Esto les permite generar innovaciones sin la necesidad de desarrollar una compleja red de distribución de datos y sin presentar limitaciones respecto del entorno de desarrollo, la plataforma de mensajería o el tipo de nube.

Artículos relacionados

Artículo

¿Qué es la integración?

¿Desea saber qué es la integración? Obtenga información acerca de qué es, cómo incorporarla y por qué es mucho mejor con un enfoque open source.

Artículo

¿Qué es Apache Kafka?

Apache Kafka es una plataforma distribuida de transmisión de datos que permite publicar, almacenar y procesar flujos de registros, así como suscribirse a ellos, de forma inmediata.

Artículo

¿Qué es una API?

Una API o interfaz de programación de aplicaciones es un conjunto de definiciones y protocolos que se usa para diseñar e integrar el software de las aplicaciones.

Más información sobre la integración

Productos

Conjunto completo de tecnologías de integración y mensajería para conectar aplicaciones y datos a través de infraestructuras híbridas. Incluye Red Hat 3scale API Management, Red Hat AMQ, Red Hat Runtimes, registro de datos modificados y un registro de servicios.

Conjunto de tecnologías de integración y tiempos de ejecución diseñados para ayudar a crear, implementar y operar aplicaciones de manera segura y a escala a través de la nube híbrida.

Conjunto de productos, herramientas y elementos que permiten desarrollar y mantener las aplicaciones directamente en la nube. Incluye Red Hat AMQ, Red Hat Data Grid, Red Hat JBoss® Enterprise Application Platform, Red Hat JBoss Web Server, una compilación de OpenJDK de Red Hat, una compilación de Quarkus de Red Hat, un grupo de tiempos de ejecución de nube, Migration Toolkit for Applications, inicio de sesión único y un servicio para lanzamientos .

Los servicios de nube de Red Hat® incluyen aplicaciones, plataformas y servicios de datos alojados y gestionados que optimizan la experiencia en la nube híbrida reduciendo los costos operacionales y simplificando la entrega de aplicaciones nativas de la nube.

Contenido adicional

Ebook

Integración ágil: el plano técnico de la arquitectura empresarial

VISION GENERAL

Red Hat Cloud Services

Servicios gestionados para el desarrollo en la nube

Capacitación

Curso de capacitación gratuito

Red Hat Agile Integration Technical Overview