Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 3645|Répondre: 0

Explication détaillée de l’architecture des messages AMQP de RabbitMQ

[Copié le lien]
Publié sur 14/08/2022 23:32:43 | | | |
Introduction au protocole AMQP

AMQP (Advanced Message Queuing Protocol) est un protocole standard au niveau applicatif qui fournit des services de messagerie unifiée, et constitue une norme ouverte pour les protocoles de niveau applicatif conçus pour les middlewares orientés message. AMQP est un protocole réseau permettant de transmettre des messages asynchrones entre processus.

Les clients et middlewares de messages basés sur ce protocole peuvent livrer des messages sans être limités par différents produits clients/middleware, langages de développement différents, etc.

Les principales caractéristiques de l’AMQP sont orientées messages, en file d’attente, routage (y compris pair-à-pair et publication/abonnement), fiabilité et sécurité. AMQP impose le comportement des fournisseurs de messages et des clients, permettant une véritable interopérabilité entre différents fournisseurs.

Explication détaillée du protocole AMQP
https://www.itsvse.com/thread-10347-1-1.html

Messages de routage

Dans l’architecture AMQP, tout routage réussi de message se compose de trois parties :

  • Échange : Où les producteurs publient des messages
  • Files d’attente : où les consommateurs reçoivent des messages
  • Liaisons : Comment les messages sont acheminés du commutateur vers une file d’attente spécifique


Échanges et liaisons

Alors, comment le message arrive-t-il à la file d’attente ? Chaque fois que vous souhaitez transmettre un message à un consommateur, vous devez d’abord l’envoyer à l’échangeur. Ensuite, en fonction de certaines règles ou clés de routage, RabbitMQ décidera à quelle file d’attente il doit livrer les messages.

Les règles – ou clés de routage – permettent de lier une file d’attente à l’échange. RabbitMQ tentera de faire correspondre la clé de routage du message à la clé utilisée dans la liaison. Le message est ensuite livré à la file d’attente selon l’un des quatre types d’échange : fanout, topic, direct, header



Échange de fanouts

Ce type d’échange diffuse tous les messages reçus à toutes les files d’attente qui lui sont liées. Toutes les clés de routage fournies avec le message publié seront ignorées.

Échange de sujets

Dans ce type d’échange, les messages sont envoyés à une file d’attente basée sur la clé de routage. Cela signifie que les messages envoyés à l’échange de sujets doivent avoir une clé de routage spécifique, qui doit être une liste de mots, séparés par points (par exemple, « acs.deviceoperations. »). La limite de formulation est de 255 octets.

La clé de liaison doit être dans le même format que la clé de routage. Ainsi, les messages envoyés avec une clé de routage spécifique seront livrés à chaque file d’attente avec une clé de liaison correspondante.

Les clés de liaison permettent les règles d’expression suivantes :

*(astérisque) ne peut remplacer qu’un seul mot
# (hachage) peut remplacer zéro ou plusieurs mots
Lorsqu’une file d’attente est liée par une clé de liaison « # » (hach), elle reçoit tous les messages quel que soit le code de routage, comme dans un échange Fanout fan-out.

Échange direct

Lorsqu’une file d’attente est déclarée, elleLier automatiquement à un commutateur qui utilise le nom de la file comme clé de routage。 Si la clé de routage correspond, le message est livré à la file d’attente appropriée.

Échange d’en-tête

Les commutateurs d’en-tête sont quelque peu similaires aux commutateurs de sujet, mais contrairement aux commutateurs de sujet, le routage est basé sur des clés de route, et les valeurs de routage des commutateurs d’en-tête sont basées sur les données d’en-tête du message.
La clé de routage du commutateur de sujet n’est qu’une chaîne, tandis que le commutateur d’en-tête peut être un entier et un hachage.

(Fin)





Précédent:Explication détaillée du protocole AMQP
Prochain:[Tourne]. Optimisations des performances NET - parcourez rapidement les collections de listes
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com