miércoles, 1 de octubre de 2014

Java Message Service: Topic vs Queue

Una cola de mensajes es un lugar común donde las aplicaciones pueden publicar y consumir mensajes. Existen 4 componentes principales en un sistema de mensajería:
  • el publicador,  es quien publica un Mensaje en una Cola
  • el consumidor, es quien consume Mensajes de una Cola
  • el mensaje, que tiene algún formato que tanto publicador como consumidor conocen.
  • la cola, es el lugar donde publicadores y consumidores se conectan y comunican a través de mensajes.

Una de las grandes ventajas que ofrece el uso de colas respecto a otras tecnologías, es que el publicador y el consumidor no tienen porque estar disponibles a la vez.

Existen dos tipos de colas en JMS(Java Message Service): Topic y Queue
  • En las colas tipo Queue, existen uno o varios publicadores, y un consumidor. Los publicadores van dejando sus mensajes en la cola, y son tomados en orden por el consumidor. Si el consumidor no está disponible, la cola va guardando los mensajes, de manera que el consumidor pueda retomar su procesamiento cuando vuelva a estar disponible.


  • En las colas tipo Topic,  siguen el modelo "publicador/subscriptor". Uno o varios consumidores se "suscriben" al Topic, y van recibiendo los mensajes que se publican. Cuando se desconectan dejan de recibir esos mensajes, y los pierden.



Conclusión

  • Las colas tipo Topic se utilizan cuando la información es "time sensitive", por ejemplo en las quotas de stocks...
  • También utilizaremos las colas Topic cuando la información se envía a una audiencia amplia.
  • En cambio utilizaremos colas de tipo Queue cuando se utilicen transacciones.


No hay comentarios:

Publicar un comentario