Maison >développement back-end >tutoriel php >Qu'est-ce que RabbitMQ ? Une brève introduction à RabbitMQ

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

青灯夜游
青灯夜游avant
2019-03-28 14:08:535402parcourir

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer