2012-06-19 8 views
5

"Java Message Service" libro de O'Reilly Media dice:¿Podemos usar el modelo de solicitud/respuesta en los mensajes de publicación/suscripción?

uso de petición/respuesta modelo en el envío de mensajes punto a punto.

Podemos utilizar selectores de mensaje en el Bar de mensajería/sub, por lo que escribir una solicitud/respuesta modelo es tan simple como escribir un selector simple en respuesta tema:

  1. editor publica un mensaje con alguna propiedad única (como UUID como correlationID)
  2. abonado responde para el mensaje con el mismo UUID como correlationID
  3. editor (también de abonado del tema responder) selecciona los mensajes con el UUID enviado.

¿Es este un patrón incorrecto?

Respuesta

2

El patrón de mensajes de solicitud/respuesta se usa generalmente para invocar un servicio alojado por el proveedor de servicios. En función de la solicitud de servicio, un proveedor responderá con una respuesta adecuada. Entonces es uno a uno. Aquí el solicitante y el respondedor se conocen entre sí.

En el caso de pub/sub, el editor y el suscriptor no se conocen entre sí. Podría haber varios editores publicando sobre un tema y podría haber miles de suscriptores escuchando ese tema. Entonces, después de recibir la publicación, si un suscriptor responde para solicitar el uso de un tema, esa publicación podría ir a un número de suscriptores. Tal cosa podría inundar la red.

En mi opinión, modelo de solicitud/respuesta se debe utilizar en mensajes P2P y no Pub/Sub.

Cuestiones relacionadas