Echanges RabbitMQ

En rabbitmq, lorsque le producteur crée un message qui ne sera pas directement envoyé à une file d’attente, au lieu de cela, le message sera d’abord envoyé à des échanges, puis après cela un agent de routage le lit et l’envoie à la file d’attente appropriée avec l’aide d’attributs d’en-tête, de liaisons et de clés de routage.

Types d’échange RabbitMQ

Dans rabbitmq, nous avons un quatre type d’échanges sont disponibles pour router le message de différentes manières.

Suivant sont les différents types d’échanges disponibles dans rabbitmq.

  • Direct
  • Fanout
  • Topic
  • Headers

RabbitMQ Direct Exchange

Dans rabbitmq, l’échange direct livrera un message aux files d’attente en fonction de la clé de routage du message. Dans l’échange direct, le message est acheminé vers les files d’attente dont la clé de liaison correspond exactement à la clé de routage du message.

Voici la représentation imagée du flux de messages dans l’échange direct de rabbit.

Diagramme de flux de processus d'échange direct RabbitMQ

RabbitMQ Fanout Exchange

Dans rabbitmq, fanout exchange acheminera les messages vers toutes les files d’attente qui lui sont liées.

Voici la représentation imagée du flux de messages dans rabbitmq fanout exchange.Diagramme du processus d'échange de fanout de rabbitMQ

Échange de sujet de rabbitMQ

Dans rabbitmq, l’échange de sujet effectuera une correspondance joker entre la clé de routage et le modèle de routage spécifié dans le binding pour publier un message à la file d’attente.

Ci-après est la représentation picturale du flux de messages dans l’échange de sujet de rabbitmq.

Diagramme de flux de processus d'échange de sujets RabbitMQ

Échange d’en-têtes RabbitMQ

Dans rabbitmq, les échanges d’en-têtes utiliseront les attributs d’en-tête de message pour le routage.

Voici la représentation imagée du flux de messages dans l’échange d’en-têtes rabbitmq.

Diagramme du processus d'échange d'en-têtes de rabbitMQ

Nous allons maintenant voir comment ajouter des échanges dans rabbitmq en utilisant le plugin de gestion web.

RabbitMQ Create Exchange

Pour créer de nouveaux échanges, ouvrez d’abord le portail de gestion web de rabbtimq, entrez un identifiant par défaut pour vous connecter, puis choisissez l’onglet Échanges.

Écran de connexion de gestion Web du serveur RabbitMQ

Après avoir navigué dans l’onglet Échanges, vous verrez “Ajouter un nouveau panneau d’échange”, il suffit de cliquer sur ce panneau pour le développer et cela contiendra différentes propriétés pour créer un nouvel échange comme indiqué ci-dessous.

Créer un nouvel échange dans rabbitmq

Propriétés de l’échange RabbitMQ

Ci-après sont les différents types de propriétés que nous devons remplir pour créer un nouvel échange dans rabbitmq.

Propriété Description
Nom Le nom sera un nom d’échange que vous définirez et il doit être unique.
Type Vous pouvez sélectionner le type d’échange requis soit sujet ou fanout, etc. en fonction de vos besoins.
Durabilité En utilisant les propriétés de durabilité (Durable, Transient), nous pouvons faire en sorte que le message survive même après les redémarrages du serveur. Si nous sélectionnons Durable, alors le message survivra même après le redémarrage du serveur. Dans le cas, si nous sélectionnons Tansient, alors le message ne sera pas en service après le redémarrage du serveur.
Auto Delete En utilisant la propriété auto delete, nous pouvons définir si un échange peut supprimer si nous délier la file d’attente assignée.
Internal Si nous définissons cette propriété oui, alors l’échange ne peut pas être utilisé directement par les éditeurs, mais seulement lorsqu’il est lié à d’autres échanges.
Alternate-exchange S’il y a un problème dans la publication du message à l’échange, alors en utilisant cette propriété, nous pouvons spécifier un échange alternatif pour envoyer un message à la file d’attente.

Une fois que nous entrons tous les détails requis, puis cliquez sur le bouton Add exchange pour créer un nouvel échange comme indiqué ci-dessous.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.