Rabbitmq exchange arguments

Rabbitmq exchange arguments

Rabbitmq exchange arguments

Rabbitmq set_policy

¿Estás empezando con RabbitMQ y quieres entender mejor las opciones de configuración? En este artículo, nos sumergiremos en la configuración de intercambios, colas y enlaces, discutiendo diferentes opciones de configuración y revisando una variedad de ajustes de configuración.
RabbitMQ es un robusto y popular broker de mensajes, una solución fiable para enrutar mensajes de forma asíncrona entre sistemas y aplicaciones. La configuración de los módulos principales de RabbitMQ -intercambios, colas y enlaces- es extremadamente sencilla, pero entender cómo encajan entre sí y cuándo utilizar una configuración en lugar de otra puede parecer algo esotérico. Para ayudarle a sentirse más seguro en su configuración, utilizaremos un negocio hipotético llamado Content Corp para exponer las configuraciones clave en RabbitMQ y ver cómo y cuándo aplicar varias configuraciones.
Nuestro negocio hipotético, Content Corp, gestiona un sitio web de contenidos que publica nuevos contenidos con frecuencia a lo largo del día. Están desarrollando una aplicación que notificará a sus clientes los nuevos contenidos que les interesen siempre que estén conectados y se publique algo nuevo. Cuando los clientes no están conectados, quieren enviar los mensajes a una base de datos para que se recuperen más tarde cuando el cliente se conecte o, si el cliente ha indicado que quiere recibir notificaciones por correo electrónico, enviarán esos mensajes a un servicio de correo electrónico.

Convención de nomenclatura de claves de enrutamiento de rabbitmq

Esta es la cuarta entrega de la serie RabbitMQ para Windows.    En la última entrega, revisamos nuestro ejemplo de Hello World e introdujimos el concepto de Intercambios.    En esta entrega, discutiremos los cuatro tipos básicos de intercambios de RabbitMQ.
Los intercambios controlan el enrutamiento de los mensajes a las colas.    Cada tipo de intercambio define un algoritmo de enrutamiento específico que el servidor utiliza para determinar a qué colas de destino debe dirigirse un mensaje publicado.
El tipo de intercambio Directo es útil cuando se desea distinguir los mensajes publicados en el mismo intercambio utilizando un simple identificador de cadena.    Este es el tipo de intercambio que se utilizó en nuestro ejemplo de Hola Mundo.    Como se discutió en la parte 3 de nuestra serie, cada cola se vincula automáticamente a un intercambio por defecto utilizando una clave de enrutamiento igual al nombre de la cola.    Este intercambio por defecto se declara como un intercambio directo.    En nuestro ejemplo, la cola llamada «hello-world-queue» estaba vinculada al intercambio por defecto con una clave de enrutamiento de «hello-world-queue», por lo que publicar un mensaje en el intercambio por defecto (identificado con una cadena vacía) enrutó el mensaje a la cola llamada «hello-world-queue».

Rabbitmq exchange vs queue

¿Qué es un intercambio? ¿Qué son las claves de enrutamiento y los enlaces? ¿Cómo se asocian los intercambios y las colas? ¿Cuándo debo usarlos y cómo? Este artículo explica los diferentes tipos de intercambios en RabbitMQ y los escenarios de cómo utilizarlos.
Los mensajes no se publican directamente en una cola. En su lugar, el productor envía los mensajes a un intercambio. Los intercambios son agentes de enrutamiento de mensajes, definidos por el host virtual dentro de RabbitMQ. Un intercambio es responsable de enrutar los mensajes a diferentes colas con la ayuda de atributos de cabecera, enlaces y claves de enrutamiento.
en el momento de la creación. Los intercambios duraderos sobreviven a los reinicios del servidor y duran hasta que se eliminan explícitamente. Los intercambios temporales existen hasta que RabbitMQ se apaga. Los intercambios auto-eliminados se eliminan una vez que el último objeto vinculado se desvincula del intercambio.
En RabbitMQ, hay cuatro tipos diferentes de intercambios que enrutan el mensaje de forma diferente utilizando diferentes parámetros y configuraciones de vinculación. Los clientes pueden crear sus propios intercambios o utilizar los intercambios predefinidos que se crean cuando el servidor se inicia por primera vez.

Patrón de política de rabbitmq

Definitivamente se podría lograr lo mismo con intercambios directos y múltiples vinculaciones, pero se necesitaría una vinculación para cada clave de enrutamiento, haciendo que la gestión sea cada vez más compleja cuando surjan más claves de enrutamiento.
Si vinculas una cola a un intercambio de cabeceras, puedes proporcionar argumentos a la vinculación. Estos argumentos son también pares clave-valor. RabbitMQ hará coincidir esos argumentos con las cabeceras. Si coinciden, el mensaje irá a la cola. Si no, la cola no recibe el mensaje.
Hay un argumento extra que debe añadir al enlace: el argumento especial «x-match». Si establece el valor de este argumento en «all», todas las cabeceras deben coincidir con los pares clave-valor del enlace. Si se establece como «any», entonces uno es suficiente.
Este tipo de intercambio permite un filtrado creativo. La fuerza radica en el hecho de que puedes añadir todo tipo de cabeceras a tus mensajes, por ejemplo, identificadores de usuario, regiones, etc. El orden en el que los pongas no es importante. En un intercambio de temas, report.pdf no es lo mismo que pdf.report.

Entradas relacionadas

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad