Producción y consumo de mensajes utilizando puntos de mensaje remotos
Cuando una aplicación genera o consume mensajes hacia o desde un motor de mensajería que no sea el mismo que aquél al que está conectada la aplicación, se utilizan puntos de mensaje remotos para gestionar el flujo de mensajes entre los motores de mensajería.
Generación de mensajes
Cuando una aplicación genera mensajes en un destino del tipo de cola de un motor de mensajería que es remoto respecto al motor de mensajería que es propietario del punto de cola, es necesario un punto de cola remoto para gestionar la entrega de los mensajes destinados al punto de cola. Cuando una aplicación genera mensajes en un destino de tipo de publicación/suscripción, el motor de mensajería de la aplicación generadora tendrá un punto de publicación local. Si las aplicaciones suscriptoras al mismo destino están conectadas a motores de mensajería diferentes en el bus, se necesitan puntos de publicación remotos para gestionar la entrega de mensajes a esos motores de mensajería remotos.
Si el destino está mediado, primero deben procesarse los mensajes en un punto de mediación. Si el punto de mediación está en un motor de mensajería distinto de la aplicación, se necesita un punto de mediación remoto para gestionar la entrega de los mensajes al punto de mediación.
Estos mensajes de salida se deben entregar en el punto de mensaje de una forma fiable de acuerdo con la fiabilidad del mensaje. Para proporcionar estos niveles de fiabilidad, cualquier mensaje con una fiabilidad mayor que el "mejor esfuerzo no persistente" se coloca temporalmente en cola en el punto de mensaje remoto del motor de mensajería del productor. El mensaje permanece en la cola hasta que el motor de mensajería que es propietario del punto de mensaje confirma la llegada satisfactoria del mensaje; a continuación, el motor de mensajería del productor elimina su copia del mensaje del punto de mensaje remoto. Esto evita la pérdida o reordenación de mensajes en caso de anomalías.
En condiciones normales, los mensajes se colocan brevemente en cola en un punto de mensaje remoto, pero si se produce una anomalía o el sistema está sobrecargado, los mensajes pueden permanecer más tiempo en el punto de mensaje remoto. Puede evaluar la salud del sistema supervisando los mensajes de salida en un punto de mensaje remoto.
Consumo de mensajes
Una aplicación consumidora puede estar conectada a un motor de mensajería que no sea propietario del almacén de mensajes desde donde la aplicación desea consumir. Cuando una aplicación consume de un destino del tipo de cola, la aplicación puede ser remota respecto al punto de cola; cuando una aplicación consume de un destino del tipo publicación/suscripción, la aplicación puede ser remota respecto a la suscripción. Cuando se produce uno de estos casos, se necesita un punto de mensaje remoto para gestionar las solicitudes de mensajes efectuadas por la aplicación.
Cada vez que una aplicación solicita un mensaje de un almacén remoto de mensajes, se realiza una solicitud de mensaje desde el motor de mensajería de la aplicación al motor de mensajería que es propietario de los mensajes. El punto de mensaje remoto mantiene estas solicitudes de mensajes hasta que son satisfechas, con un mensaje o cuando la solicitud llega a su final (la aplicación solicitante interrumpe la solicitud).