架构师_程序员_码农网

N Recuperar contraseña
Registrarse

QQ登录

Sólo un paso para empezar

Buscar en
Vista:2074|Repuesta: 0
打印 上一主题 下一主题

Explicación de la arquitectura de mensajes AMQP de RabbitMQ

[copiar enlace]
A 跳转到指定楼层
propietario del edificio
发表于 2022-8-14 23:32:43|只看该作者回帖奖励|Navegar hacia atrás |Modo de lectura
Introducción a AMQP

AMQP (Advanced Message Queuing Protocol) Advanced Message Queuing Protocol, un protocolo estándar de capa de aplicación que proporciona servicios de mensajería unificados, es un estándar abierto para protocolos de capa de aplicación, diseñado para middleware orientado a mensajería.AMQP es un protocolo de red que entrega mensajes asíncronos entre procesos.

Los clientes y middleware de mensajería basados en este protocolo pueden entregar mensajes y no están limitados por los diferentes productos del cliente/middleware, diferentes lenguajes de desarrollo y otras condiciones.

Las principales características de AMQP son la orientación a mensajes, las colas, el enrutamiento (incluyendo punto a punto y publicar/suscribir), la fiabilidad y la seguridad.AMQP impone un comportamiento en el proveedor de mensajería y en el cliente, lo que permite una verdadera interoperabilidad entre diferentes proveedores.

Explicación del protocolo AMQP
h ttps:// www.itsvse.com/thread-10347-1-1.html

Enrutamiento de mensajes

Cualquier enrutamiento de mensajes exitoso en la arquitectura AMQP consta de tres partes:


  • Intercambio: donde el productor publica el mensaje Colas: donde el consumidor recibe el mensaje Enlaces: cómo se enruta el mensaje desde el intercambio a una cola específica.


Intercambios y enlaces

¿Cómo llegan los mensajes a las colas? Cuando se desea entregar un mensaje a un consumidor, primero hay que enviarlo al conmutador. Entonces, basándose en ciertas reglas o claves de enrutamiento, RabbitMQ decidirá a qué cola debe entregar el mensaje.

La regla -o clave de enrutamiento- le permite enlazar la cola al intercambio. y RabbitMQ intentará hacer coincidir la clave de enrutamiento del mensaje con la clave utilizada en el enlace. El mensaje se entregará entonces a la cola basándose en uno de los cuatro tipos de intercambio siguientes: fanout, topic, direct, header



Intercambio Fanout

Este tipo de intercambio difunde todos los mensajes que recibe a todas las colas vinculadas a él. Cualquier clave de enrutamiento proporcionada con los mensajes publicados es ignorada.

Intercambio de temas

En este tipo de intercambio, los mensajes se envían a las colas en función de las claves de enrutamiento. Esto significa que los mensajes enviados a un intercambio de temas deben tener una clave de enrutamiento específica, que debe ser una lista de palabras, separadas por puntos (por ejemplo, 'acs.deviceoperations.'). La redacción está limitada a 255 bytes.

La clave de enlace debe tener el mismo formato que la clave de enrutamiento. Por lo tanto, los mensajes enviados utilizando una clave de enrutamiento específica se entregarán a cada cola vinculada utilizando la clave de vinculación coincidente.

Se permiten las siguientes reglas de expresión para las claves de enlace:

* (asterisco) sólo puede sustituir a una palabra
# (almohadilla) puede sustituir a cero o más palabras
Cuando una cola está vinculada utilizando la clave de vinculación "#" (hash), recibirá todos los mensajes independientemente de la clave de enrutamiento, como en un intercambio Fanout Fanout.

Intercambio directo

Cuando se declara una cola, se vincula automáticamente a un intercambio que utiliza el nombre de la cola como clave de enrutamiento. Si la clave de enrutamiento coincide, el mensaje se pasa a la cola correspondiente.

Intercambio de cabeceras

Los intercambios de cabecera son algo similares a los intercambios de temas, pero a diferencia de éstos, en los que el enrutamiento se basa en la clave de enrutamiento, los intercambios de cabecera basan sus valores de enrutamiento en los datos de cabecera del mensaje.
La clave de enrutamiento del intercambio de temas sólo puede ser una cadena, mientras que el intercambio de cabeceras puede ser un entero o un valor hash.

(Fin)





Anterior: Explicación del protocolo AMQP
Siguiente: Optimización del rendimiento de NET - Recorrido rápido Colección de listas
El sitio web, sólo se publica en el proceso de la práctica, se encontró con dificultades técnicas, no inducir a error a los demás.
Tienes que iniciar sesión antes de poder volver a publicar Iniciar sesión | Registrarse

E sta versión de las normas integrales


DESCARGO DE RESPONSABILIDAD: Todo el software, materiales de programación o artículos publicados por Code Farmer se limitan a ser utilizados únicamente para fines de aprendizaje e investigación; los contenidos anteriores no podrán ser utilizados con fines comerciales o ilegales, de lo contrario, todas las consecuencias serán asumidas por los propios usuarios. Esta información del sitio de la red, disputa de derechos de autor no tiene nada que ver con este sitio. Debe eliminar completamente el contenido anterior de su ordenador en las 24 horas siguientes a la descarga. Si le gusta el programa, por favor apoye el software genuino, compre el registro y obtenga un mejor servicio genuino. Si se produce alguna infracción, póngase en contacto con nosotros por correo electrónico para solucionarla.

Correo To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Sitemap

GMT+8, 2024-9-19 05:01

Respuesta rápidaVolver arribaVolver a la lista