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

Vue: 8397|Répondre: 0

Introduction aux trois modes d’échange (fanout, direct et topic) de RabbitMQ

[Copié le lien]
Publié sur 29/03/2018 14:30:45 | | | |
Introduction:
Dans RabbitMQ, tous les messages soumis par les producteurs sont acceptés par Exchange, qui les transmet ensuite à la file d’attente pour stockage selon une politique spécifique
RabbitMQ propose quatre types d’échanges : fanout, direct, topic et header
Le mode en-tête est moins utilisé en pratique, et cet article ne compare que les trois premiers modes.

1. Échange direct


Tous les messages envoyés à Direct Exchange sont transférés à la file spécifiée dans la RouteKey.

1. En général, vous pouvez utiliser l’Exchange fourni avec rabbitMQ : » (le nom de l’Exchange est une chaîne vide, ci-après appelée l’Exchange par défaut).

2. Dans ce mode, il n’est pas nécessaire d’effectuer d’opérations de liaison sur Exchange

3. Une « RouteKey » est requise pour la messagerie, qui peut simplement être comprise comme le nom de la file d’attente à laquelle il faut envoyer.

4. Si le nom de file spécifié dans la clé de route n’existe pas dans le vhost, le message est supprimé.

2. Échange de dispersion


Tous les messages envoyés à l’Échange Fanout sont transférés à toutes les files d’attente liées à cet échange.

1. Il peut être compris comme un motif de la table de routage

2. Ce mode ne nécessite pas de RouteKey

3. Ce mode nécessite de lier Exchange à la file d’attente à l’avance, un Exchange peut lier plusieurs files d’attente, et une file peut être liée à plusieurs Exchanges.

4. Si l’Exchange qui a reçu le message n’est lié à aucune file d’attente, le message est supprimé.

3. Échange de sujets


Tous les messages envoyés à l’Échange de Sujets sont transférés à toutes les files d’attente qui s’intéressent aux sujets spécifiés dans la RouteKey

1. Ce schéma est plus complexe, en termes simples, chaque file a son propre sujet de préoccupation, tous les messages ont un « titre » (RouteKey), et Exchange transmettra le message à toutes les files d’attente pouvant correspondre parfaitement au RouteKey du sujet concerné.

2. Ce mode nécessite une RouteKey, éventuellement en liant Exchange et Queue à l’avance.

3. Lors de la liaison, indiquez un sujet qui intéresse la file d’attente, comme « #.log.# » pour indiquer que la file d’attente se soucie de tous les messages liés aux journaux (un message avec une RouteKey de « MQ.log.error » sera transféré à la file d’attente).

4. « # » signifie 0 ou plusieurs mots-clés, et « » signifie un mot-clé. Par exemple, « log. » Il peut correspondre à « log.warn », mais ne peut pas correspondre à « log.warn.timeout » ; Mais « log.# » correspond à ce qui précède.

5. De même, si Exchange ne trouve pas de file d’attente correspondant à la RouteKey, il rejettera ce message.




Précédent:Utilisez XPosed pour contourner une validation forte des certificats SSL Android
Prochain:.net/c# Déconnexion de connexion RabbitMQ - déconnexion et reconnexion
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