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é)
direct
Le 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.
fanout
L'échange ignore la clé de routage et envoie le message à un lot de files d'attente en même temps .
topic
consiste à envoyer des messages à un certain type de file d'attente en fonction de différentes clés de routage.
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!