En rabbitmq, cuando el productor crea un mensaje que no se enviará directamente a una cola, en su lugar, primero el mensaje se enviará a los intercambios, a continuación, un agente de enrutamiento lee y lo envía a la cola apropiada con la ayuda de los atributos de la cabecera, los enlaces, y las claves de enrutamiento.
Tipos de intercambio de RabbitMQ
En rabbitmq, tenemos cuatro tipos de intercambios disponibles para enrutar el mensaje de diferentes maneras.
Los siguientes son los diferentes tipos de intercambios disponibles en rabbitmq.
- Direct
- Fanout
- Topic
- Headers
Intercambio directo de RabbitMQ
En rabbitmq, el intercambio directo entregará un mensaje a las colas basado en la clave de enrutamiento del mensaje. En el intercambio directo, el mensaje se dirige a las colas cuya clave de enlace coincide exactamente con la clave de enrutamiento del mensaje.
La siguiente es la representación pictórica del flujo de mensajes en el intercambio directo de rabbit.
Intercambio fanout de RabbitMQ
En rabbitmq, el intercambio fanout enrutará los mensajes a todas las colas que estén vinculadas a él.
A continuación se muestra la representación pictórica del flujo de mensajes en el intercambio fanout de rabbitmq.
Intercambio de temas de rabbitmq
En rabbitmq, el intercambio de temas realizará una coincidencia de comodines entre la clave de enrutamiento y el patrón de enrutamiento especificado en el enlace para publicar un mensaje en la cola.
A continuación se muestra la representación pictórica del flujo de mensajes en el intercambio de temas de rabbitmq.
Intercambio de cabeceras de rabbitmq
En rabbitmq, los intercambios de cabeceras utilizarán los atributos de las cabeceras de los mensajes para el enrutamiento.
A continuación se muestra la representación pictórica del flujo de mensajes en el intercambio de cabeceras de rabbitmq.
Ahora veremos cómo añadir intercambios en rabbitmq utilizando el plugin de gestión web.
RabbitMQ Create Exchange
Para crear nuevos intercambios, primero abra el portal de gestión web de rabbtimq, introduzca unas credenciales predeterminadas para iniciar sesión y luego elija la pestaña Exchanges.
Después de navegar a la pestaña Exchanges, verá “Add a new exchange panel” simplemente haga clic en ese panel para expandirlo y que contendrá una propiedades diferentes para crear un nuevo intercambio como se muestra a continuación.
Propiedades de los intercambios en rabbitMQ
A continuación se muestran los diferentes tipos de propiedades que necesitamos rellenar para crear un nuevo intercambio en rabbitmq.
Property | Description |
---|---|
Name | El nombre será un nombre de intercambio que se establecerá y debe ser único. |
Tipo | Puede seleccionar el tipo de intercambio requerido, ya sea topic o fanout, etc. en función de sus necesidades. |
Durabilidad | Al utilizar las propiedades de durabilidad (Durable, Transient), podemos hacer que el mensaje sobreviva incluso después de reiniciar el servidor. Si seleccionamos Durable, entonces el mensaje sobrevivirá incluso después de reiniciar el servidor. Si seleccionamos Tansient, entonces el mensaje no sobrevivirá después de reiniciar el servidor. |
Auto Delete | Al utilizar la propiedad auto delete, podemos establecer si un intercambio puede eliminar si desvinculamos la cola asignada. |
Internal | Si establecemos esta propiedad sí, entonces el intercambio no puede ser utilizado directamente por los editores, sino sólo cuando está vinculado a otros intercambios. |
Alternate-exchange | Si hay un problema en la publicación de un mensaje a un intercambio, entonces usando esta propiedad, podemos especificar un intercambio alternativo para enviar un mensaje a la cola. |
Una vez que introducimos todos los detalles requeridos, a continuación, haga clic en el botón Añadir intercambio para crear un nuevo intercambio como se muestra a continuación.