Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 8397|Respuesta: 0

Introducción a los tres modos de intercambio (fanout, directo y tema) de RabbitMQ

[Copiar enlace]
Publicado en 29/3/2018 14:30:45 | | | |
Introducción:
En RabbitMQ, todos los mensajes enviados por los productores son aceptados por Exchange, que luego los reenvía a la Cola para su almacenamiento según una política específica
RabbitMQ ofrece cuatro tipos de intercambios: fanout, directo, temático y encabezado
El modo de encabezado se usa menos en la práctica, y este artículo solo compara los tres primeros modos.

1. Intercambio directo


Cualquier mensaje enviado a Direct Exchange se reenvía a la Cola especificada en la RuedaClave.

1. En general, puedes usar el Exchange que viene con rabbitMQ:" (el nombre del Exchange es una cadena vacía, en adelante denominada Exchange por defecto).

2. En este modo, no es necesario realizar ninguna operación de enlace en Exchange

3. Se requiere una "RuedaClave" para la mensajería, que puede entenderse simplemente como el nombre de la cola a la que se debe enviar.

4. Si el nombre de la cola especificado en la Rueda Clave no existe en el vhost, el mensaje se elimina.

2. Intercambio de Fanout


Cualquier mensaje enviado al Fanout Exchange se reenvía a todas las colas vinculadas a ese intercambio.

1. Puede entenderse como un patrón de la tabla de enrutamiento

2. Este modo no requiere una Ruta Clave

3. Este modo requiere vincular Exchange a la Cola de antemano, un Exchange puede vincular múltiples colas y una cola puede vincularse a varios Exchanges.

4. Si el Exchange que recibió el mensaje no está vinculado a ninguna cola, el mensaje se elimina.

3. Intercambio de temas


Cualquier mensaje enviado al Topic Exchange se reenvía a todas las colas que se ocupen de los temas especificados en la Ruta

1. Este patrón es más complejo, en pocas palabras, cada cola tiene su propio tema de preocupación, todos los mensajes tienen un "título" (RuedaClave), y Exchange reenviará el mensaje a todas las colas que puedan coincidir perfectamente con la Ruta Clave del tema en cuestión.

2. Este modo requiere una RouteKey, quizás vinculando Exchange y Queue de antemano.

3. Al vincular, proporciona un tema que le importe a la cola, como "#.log.#" para indicar que la cola se preocupa por todos los mensajes relacionados con los registros (un mensaje con una Rueda de Ruta de "MQ.log.error" será reenviado a la cola).

4. "#" significa 0 o varias palabras clave, y "" significa una palabra clave. Por ejemplo, "log". Puede coincidir con "log.warn", pero no puede coincidir con "log.warn.timeout"; Pero "log.#" coincide con lo anterior.

5. De manera similar, si Exchange no encuentra una Cola que coincida con la RuedaClave, eliminará este mensaje.




Anterior:Utiliza XPosed para evitar una validación fuerte de certificados SSL de Android
Próximo:Desconexión de conexión .net/c# RabbitMQ - desconexión y reconexión
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com