Qu'est-ce que RabbitMQ ? Une brève introduction à RabbitMQ

青灯夜游
Libérer: 2023-04-05 18:14:01
avant
5336 Les gens l'ont consulté

Le contenu de cet article est de présenter RabbitMQ et de faire connaître à tout le monde certaines connaissances connexes sur RabbitMQ. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Présentation de RabbitMQ

RabbitMQ est un middleware de messagerie distribué hautes performances. Il est écrit en Erlang, un langage qui prend intrinsèquement en charge la distribution et qui est extrêmement performant (mais difficile à démarrer).

Concept de communication

RabbitMQ est simplement un service de file d'attente. Nos producteurs continuent de lui transmettre des messages, et les consommateurs continuent d'en recevoir des messages. . Mais par rapport aux files d'attente simples telles que List utilisant redis, la livraison des messages de RabbitMQ est plus flexible. Tout d'abord, vous devez connaître quelques concepts de communication dans RabbitMQ :

● Exchange (exchange)

● Queue (file d'attente) : support de file d'attente de messages, chaque message sera placé dans une ou plusieurs files d'attente.

● Liaison : sa fonction est de lier l'échange et la file d'attente selon les règles de routage.

● Clé de routage : Exchange délivre les messages en fonction de ce mot-clé.

● vhost (hôte virtuel): sous différents vhosts, les données sont complètement isolées. Le vhost par défaut est "/"

● Channel (canal): sous une connexion TCP, plusieurs canaux, chacun. le canal représente une tâche de session.

● Producteur

● Consommateur

Le Exchange dans RabbitMQ est similaire à un routeur, notre consumer n'envoie pas de messages Livrez-le directement dans la file d'attente, mais le livrer à exchange exchange est ensuite envoyé vers une file d'attente spécifique en fonction de la clé de routage lorsque nous le livrons. Cette conception permet aux messages d'être acheminés et envoyés de manière flexible vers un certain type de file d'attente, formant ainsi une relation un-à-plusieurs au lieu d'un simple un-à-un.

Exchange

Donc, le exchange de RabbitMQ est très pratique et puissant. Il en a plusieurs types :

Quantity. direct

Quantityfanout

Quantitytopic

Quantityheaders (presque jamais utilisé)

directLe switch est très simple, parfois on a seulement besoin d'un file d'attente très simple (y remettre le message puis le consommer en continu). A ce moment nous pouvons utiliser l'échangeur direct Sa règle est : si la clé de routage correspond, le message sera délivré à la file d'attente correspondante.

Quest-ce que RabbitMQ ? Une brève introduction à RabbitMQ

fanoutL'échange ignore la clé de routage et envoie le message à un lot de files d'attente en même temps .

Quest-ce que RabbitMQ ? Une brève introduction à RabbitMQ

topic consiste à envoyer des messages à un certain type de file d'attente en fonction de différentes clés de routage.

Quest-ce que RabbitMQ ? Une brève introduction à RabbitMQ

Tutoriels vidéo associés recommandés : "Tutoriel PHP"

Ce qui précède est l'intégralité du contenu de cet article, je J'espère que c'est possible. Cela sera utile à l'étude de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!