Artículo/blog anterior: SAP BTP: cómo habilitar SAP Event Mesh en una cuenta global
En este blog, veremos el uso de las colas de mensajes y la publicación/consumo. Estos son patrones comunes utilizados en aplicaciones distribuidas sobre cómo los servicios se comunican entre sí.
Publicar-consumir es un patrón de comunicación que se define por el desacoplamiento de las aplicaciones, donde las aplicaciones publican mensajes a un corredor intermediario en lugar de comunicarse directamente con los consumidores (como en punto a punto).
En este sentido, los editores y los consumidores no se conocen entre sí; simplemente producen o reciben los eventos. El intermediario de eventos (en forma de middleware como CAP/RAP, Integration Suite o S/4, implementado en todos y cada uno de los entornos) es un producto que facilita y distribuye eventos a medida que ocurren, llevándolos a los consumidores que pueden ser ubicados en una variedad de entornos (locales, nubes públicas/privadas, etc.).
Publique eventos comerciales de fuentes SAP y no SAP en entornos híbridos desde el núcleo digital hasta aplicaciones de extensión a través de una arquitectura basada en eventos.
Consuma eventos comerciales de fuentes SAP y no SAP en todo el ecosistema basado en eventos de SAP, incluidos SAP Extension Suite, SAP Integration Suite y back-ends de SAP habilitados para la entrada seleccionada.
Logre una transmisión de datos confiable para escenarios de extensión e integración a través de la comunicación desacoplada.
Comencemos mirando las colas de mensajes. Las colas de mensajes constan de un servicio de publicación y varios servicios de consumidor que se comunican a través de una cola. Este la comunicación suele ser unidireccional donde el editor emitirá comandos a los consumidores. El servicio de publicación normalmente pondrá un mensaje en una cola o intercambio y un único servicio de consumidor consumirá este mensaje y realizará una acción basada en esto.
A partir de esto, podemos ver un servicio de Publisher que está poniendo un mensaje ‘m n+1’ en la cola. Además, también podemos ver múltiples mensajes que ya existen en la cola esperando ser consumidos. En el lado derecho, tenemos 2 servicios de consumo ‘A’ y ‘B’ que están escuchando la cola de mensajes.
m1 = mensaje 1, m2 = mensaje 2, m3 = mensaje 3
Primero, podemos ver que el mensaje del publicador ha sido enviado al final de la cola. A continuación, la parte importante a considerar es el lado derecho de la imagen. Podemos ver que el consumidor ‘A’ ha leído el mensaje ‘m 1’ y, como tal, ya no está disponible en la cola para que lo consuma el otro servicio ‘B’.
Los ejemplos de situaciones en las que podría usar colas FIFO incluyen los siguientes:
Vaya a Event Mesh Dashboard, cree su propio nombre de cola
Haga clic en Acciones para obtener detalles adicionales para su Cola creada
Ver detalles de la cola muestra la información necesaria para la mensajería
Si desea publicar mensajes en una cola o consumir mensajes de una cola.
Se muestra una confirmación cuando publica un mensaje.
Los datos del mensaje y las propiedades del mensaje se muestran cuando consume un mensaje.
Tenga cuidado con el envío de mensajes paso a paso desde Queue
El servicio admite el uso de API REST para publicar y consumir mensajes. Las aplicaciones de cliente de mensajes con mensajería basada en REST pueden implementar la funcionalidad de mensajería utilizando una herramienta de cliente REST.
Los valores permitidos para especificar QoS son 0 y 1. La API para publicar mensajes requiere un encabezado obligatorio x-qos.
Con cada solicitud de publicación, el cliente de mensajes puede establecer un tiempo de vida para el mensaje en milisegundos. Si se llama a la API sin este encabezado, se utiliza el valor predeterminado de 2592000000 (30 días).
Restricciones técnicas del plan predeterminado de SAP Event Mesh
Especificación para las API REST de mensajería
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073