Guía rápida de Events Hub

Esta guía rápida fue creada para ayudarle a entender cómo funciona el Sensedia Events Hub. Le da una visión general de cómo:

  • configurar rutas para enviar y recibir eventos;

  • aplicar políticas de seguridad e intentos automáticos de distribución de eventos a los suscriptores.

Los enlaces incluidos en esta página conducen a secciones más detalladas de nuestra documentación.

Glosario

A lo largo de la documentación, verá algunos términos específicos del contexto de la mensajería. Para facilitar su comprensión, los explicamos:

  • Publicadores: también conocidos como publishers, son las aplicaciones emisoras. Son responsables de crear los eventos y enviarlos al Events Hub.

  • Suscriptores: también llamados subscribers, son los destinatarios, aplicaciones o socios clientes que reciben los eventos y pueden realizar acciones en base a ellos.

  • Momentos de negocio: son momentos de oportunidad para el negocio que, mediante Events Hub, pueden ser aprovechados para generar ingresos.

Funcionamiento general

Events Hub le permite administrar una arquitectura de distribución de eventos desde una interfaz de bajo código, que no requiere conocimientos avanzados de programación. Permite registrar y gestionar publicadores y suscriptores de eventos de forma totalmente independiente.

get starded es

Para que Events Hub sepa qué suscriptores deben recibir qué eventos, hay rutas de publicación y suscripción, formando un canal para recibir y distribuir eventos.

Estas rutas se definen en la configuración de tópicos, handlers y contextos, cada uno con un path específico que se añade a la URL de publicación. Cuando los publicadores envían peticiones a Events Hub, garantizamos que solo se distribuirán a los suscriptores registrados para recibir el evento.

Además de gestionar la publicación y suscripción de eventos, Events Hub garantiza la entrega a los suscriptores a través de:

  • seguimiento del estado del envío;

  • intentos automáticos de entrega;

  • reenvío manual a través de la interfaz en caso de fallo.

Para garantizar la seguridad en todo el proceso de gestión de eventos, puede añadir interceptores al flujo de recepción. Esto le permite controlar el acceso de los publicadores, que pueden ser validados por un servidor externo.

Para los suscriptores, incluimos una firma digital con todos los eventos distribuidos para validar el origen de las peticiones. Además, se puede configurar un token de seguridad estático o dinámico para proteger el tráfico de información.

Tópicos, handlers y contextos

Tópicos, handlers y contextos son los elementos que componen el canal para publicar y suscribir a eventos. Ellos organizan las rutas de recepción y distribución de eventos, asegurando que los mensajes lleguen a los suscriptores correctos.

Tópicos

El tópico es el último marcador en la URL de publicación y es a través de él que Events Hub encuentra los suscriptores que deben recibir cada evento. Los publicadores envían solicitudes utilizando la URL de publicación del tópico y Events Hub reenvía los eventos a todos los suscriptores activos al tópico.

Handlers

Los handlers son agregadores de tópicos que sirven para agruparlos lógicamente. Además, son responsables por aplicar las políticas de seguridad y entrega de eventos, que serán compartidas con todos los tópicos que lo componen.

Contextos

Los contextos permiten reutilizar los tópicos en diferentes escenarios. El servidor de autorización externo se define por contexto, lo que significa que cuando dos contextos diferentes están disponibles para un tópico, es posible utilizar dos endpoints de autorización distintos para el mismo tópico.

La URL de publicación de eventos se divide en partes: la base (única por cliente) y los marcadores de posición, que son contexto, handler y tópico: <url-base>/<context>/<handler>/<topic>.

Ejemplo: El mismo tópico en diferentes escenarios

Si tienes un handler llamado "Alerts", en la ruta /alerts se agrupan tópicos de alerta para monitorizar APIs. Uno de estos tópicos es /latency, para distribuir eventos de alerta de latencia.

En este escenario, puedes elegir:

  1. No registrar ningún contexto. Cuando esto ocurre, Events Hub establece el contexto "Default" como predeterminado, y no se añade ningún marcador a la URL de publicación. Como resultado, las solicitudes para el tópico latency se enviarán a <url-base>/alerts/latency y todos los suscriptores activos recibirán los eventos.

  2. Registrar un contexto para, por ejemplo, definir entornos. En un escenario de pruebas, en el que no desea que los suscriptores del tópico reciban alertas, puede registrar el contexto testing y habilitarlo para el tópico latency.

Para registrar suscriptores en el contexto, debe vincularlos al tema latency y habilitarlos solo para el contexto testing. De esta forma, los eventos enviados a <url-base>/testing/alerts/latency solo serán distribuidos a los suscriptores de ese contexto.

El contexto de prueba también le permite utilizar un mock de autorización para que su equipo no tenga que validar las credenciales del endpoint de autorización del contexto estándar.

Configuración de tópicos, handlers y contextos

Para registrar handlers con un contexto, recomendamos registrar el contexto de antemano en la pantalla Contexts.

Los handlers se crean y administran en la pantalla Handlers. En la pantalla de registro y edición de un handler, se puede:

  • crear y editar tópicos y políticas;

  • asignar contextos a los tópicos haciendo clic en el icono icon expand de la pantalla de registro. Deben haberse registrado previamente a través de la pantalla Contexts.
    Los endpoints de autorización del publicador se definen para cada contexto en la pantalla Authorizations.

handler creation
Registro de contextos, handlers y tópicos

Publicadores y suscriptores

Events Hub permite que los dos lados de la integración de eventos, productores y consumidores, se registren de forma intuitiva e independiente.

Los publicadores son la fuente de los eventos. Se registran en la pantalla Publishers. Puede crearlos o importar una aplicación desde la Sensedia API Platform.

En el proceso de registro, usted conecta el publicador a los tópicos a los que enviará eventos. Además, usted elige qué contextos serán compartidos con él.

publisher screen
Pantalla de registro y gestión de publicadores

Los suscriptores son los que reciben los eventos. Se registran en la pantalla Subscribers. Cuando registras a un suscriptor, lo suscribes a los tópicos de los que recibirá eventos y también eliges qué contextos serán compartidos con él.

Para los suscriptores, es necesario configurar una URL para cada tópico que recibirá eventos. Esto significa que un mismo suscriptor puede recibir eventos en diferentes URL.

subscribers create topics subscribed
Registro de suscriptores: definición de la URL del suscriptor

Políticas de seguridad para los publicadores

En la pantalla Policies puede definir las medidas de seguridad para los publicadores y la entrega de eventos a los suscriptores. Esto incluye:

  • el número de intentos automáticos que se realizarán;

  • tiempo de espera de la solicitud;

  • códigos de estado HTTP devueltos que activan un nuevo intento automático.

La seguridad de los publicadores está garantizada por interceptores que validan su identidad, como OAuth, JWT, Client ID y Access Token. Además, puede filtrar el acceso de los publicadores por IP.

policies flow
Configuración de políticas: sección de seguridad
policies retry settings
Configuración de política: sección de intentos automáticos de entrega

Las políticas se aplican a los handlers durante su creación o edición en la pantalla creación/edición del handler. Por lo tanto, todos los tópicos de un handler usan la misma política.
La autorización de publicadores se define a nivel de contexto mediante un servidor de autorización externo, configurado en la pantalla Authorizations.

Seguridad en la conexión con los suscriptores

Events Hub implementa capas de seguridad que permiten a los suscriptores verificar el origen de los mensajes recibidos. Esto se hace mediante firmas digitales que se incluyen en todas las solicitudes. Esta firma es un token JWT generado a partir de una clave de conocimiento mutuo entre suscriptores y Events Hub durante el registro de suscriptores.

Para reforzar la seguridad, también puede configurar un token estático o dinámico para que se incluya en las solicitudes.

subscribers create security
Registro de suscriptores: paso para enviar la clave de conocimiento mutuo y configurar el token

Detalles de los eventos y reenvío manual

Puede seguir en detalle los eventos recibidos a través de la pantalla Event Status. Para cada evento, se muestran los intentos y el histórico de distribución a los abonados.

event status
Listado de eventos recibidos de los publicadores
Los intentos de entrega automática utilizan un algoritmo de retroceso exponencial para aumentar las posibilidades de éxito. Sin embargo, si fallan todas las entregas a un suscriptor, puede intentar una entrega manual en la pantalla Delivery Retry.
Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]