Cola y Tema son dos modelos de mensajería soportados por JMS: 1. Modelo de mensajería de cola punto a punto (PTP): Con este modelo de mensajería, una aplicación (es decir, el productor de mensajes) puede enviar un mensaje a otra aplicación (es decir, al consumidor de mensajes). En este modelo de entrega, el tipo de destino del mensaje es una cola (es decir, la instancia de la clase de implementación de la interfaz de destino se crea mediante la instancia de la clase de implementación de la interfaz de sesión llamando a su método createQueue y pasando el nombre de la cola). El mensaje se entrega primero a una cola específica en el lado del servidor de mensajes, y a partir de ahí, se entrega a un consumidor que está escuchando esa cola. La misma cola puede asociar múltiples productores y consumidores de mensajes, pero un mensaje solo puede entregarse a un consumidor de mensajes. Si varios consumidores de mensajes están escuchando mensajes en la cola, el servidor de mensajes JMS determina qué consumidor de mensajes recibe el siguiente mensaje basándose en el principio de "primero en llegar, primero en llegar". Si ningún consumidor de mensajes está escuchando la cola, el mensaje permanece en la cola hasta que el consumidor de mensajes se conecta a la cola. Este modelo de mensajería es un modelo perezoso o de encuestas en el sentido tradicional. En este modelo, los mensajes no se envían automáticamente al consumidor de mensajes, sino que son solicitados desde la cola por el consumidor de mensajes. 2. Modelo de mensajería de temas para publicar/suscribirse: Con este modelo de mensajería, las aplicaciones pueden enviar un solo mensaje a varios consumidores de mensajes. En este modelo de entrega, el tipo de destino del mensaje es el topic (es decir, la instancia de la clase de implementación de la interfaz de destino se crea mediante la instancia de la clase de implementación de la interfaz de sesión llamando a su método createTopic y pasando el nombre del tema). El mensaje se publica primero en un tema específico en el servidor de mensajes por el productor del mensaje, quien luego lo entrega a todos los consumidores que se han suscrito al tema. Los objetivos temáticos también permiten suscripciones a largo plazo. Una suscripción a largo plazo significa que el consumidor está inscrito en el objetivo del tema, pero puede estar inactivo cuando el mensaje llega al destino. El mensaje se recibirá cuando el consumidor esté activo de nuevo. Si ninguno de los consumidores está inscrito en un destino temático, el tema solo conserva mensajes para los consumidores inactivos que se han suscrito a una suscripción a largo plazo. A diferencia del modelo de mensajería PTP, el modelo de mensajería pub/sub permite que varios suscriptores de temas reciban el mismo mensaje. JMS mantiene el mensaje hasta que todos los suscriptores de temas lo reciben. El modelo de mensajería pub/sub es básicamente un modelo push. En este modelo, los mensajes se difunden automáticamente y los consumidores de mensajes no necesitan solicitar activamente ni encuestar temas para recibir nuevos mensajes. Las diferencias específicas son las siguientes:
tipo
| Tema
| Cola | Resumen
| Publicar Suscribirse mensajes Publicar mensajes de suscripción
| Punto a punto punto
| No existe ningún estado
| Los datos de temas son sin estado por defecto.
| Los datos de la cola se guardan como archivo en el servidor MQ por defecto; por ejemplo, Active MQ suele almacenarse bajo $AMQ_HOME\data\kr-store\data. También puede configurarse como una tienda de bases de datos.
| Garantía de integridad
| No hay garantía de que cada dato publicado por el editor sea aceptado por el suscriptor.
| La cola garantiza que cada dato pueda ser recibido por el receptor.
| si el mensaje se perderá
| En términos generales, cuando un editor publica un mensaje sobre un tema, solo el sub que escucha la dirección del tema puede recibir el mensaje. Si no hay un subforo escuchando, el tema se pierde.
| El Remitente envía un mensaje a la Cola de destino, y el receptor puede recibir mensajes en esta Cola de forma asíncrona. Los mensajes en la Cola no se perderán si no hay un receptor que los recoja por el momento.
| Política de recepción de liberación de mensajes
| Política de publicación y recepción de mensajes uno a muchos, varios subreddits que escuchan la misma dirección de tema pueden recibir mensajes enviados por el editor. El sub recibe la notificación al servidor mq
| Políticas de publicación y recepción de mensajes uno a uno, los mensajes enviados por un remitente solo pueden ser recibidos por un receptor. Después de que el receptor recibe, el servidor MQ notifica al servidor MQ que ha sido recibido, y el servidor MQ elimina o toma otras acciones sobre los mensajes de la cola.
|
|