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.
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.
É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.
É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.
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.
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.
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.