Comment accéder à la file d'attente de messages RabbitMQ en utilisant PHP

不言
Libérer: 2023-03-30 10:42:02
original
2527 Les gens l'ont consulté

Cet article présente principalement la méthode d'utilisation de PHP pour accéder à la file d'attente de messages RabbitMQ. Il analyse l'installation de l'extension associée, l'établissement de la file d'attente, la liaison de file d'attente, l'envoi de messages, la réception de messages et d'autres compétences opérationnelles associées de la file d'attente de messages RabbitMQ sous la forme. d'exemples. Les amis requis peuvent se référer à

L'exemple dans cet article décrit comment utiliser PHP pour accéder à la file d'attente de messages RabbitMQ. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Installation de l'extension

PHP utilise en fait le protocole AMQP pour accéder à RabbitMQ, il nous suffit donc d'installer php- dans la bibliothèque epel Le package pecl-amqp peut être

rpm -ivh http://mirror.neu.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install php-pecl-amqp
Copier après la connexion

Établissement d'échange

<?php
$connection = new AMQPConnection();
$connection->connect();
$channel = new AMQPChannel($connection);
$exchange = new AMQPExchange($channel);
$exchange->setName(&#39;exchange1&#39;);
$exchange->setType(&#39;fanout&#39;);
$exchange->declare();
Copier après la connexion

Établissement de la file d'attente

<?php
$connection = new AMQPConnection();
$connection->connect();
$channel = new AMQPChannel($connection);
$queue = new AMQPQueue($channel);
$queue->setName(&#39;queue1&#39;);
$queue->declare();
Copier après la connexion

Liaison de la file d'attente

<?php
$connection = new AMQPConnection();
$connection->connect();
$channel = new AMQPChannel($connection);
$queue = new AMQPQueue($channel);
$queue->setName(&#39;queue1&#39;);
$queue->declare();
$queue->bind('exchange1', 'routekey');
Copier après la connexion

Envoi de messages

<?php
$connection = new AMQPConnection();
$connection->connect();
$channel = new AMQPChannel($connection);
$exchange = new AMQPExchange($channel);
$exchange->setName(&#39;exchange5&#39;);
$exchange->setType(&#39;fanout&#39;);
$exchange->declare();
for($i = 0; $i < 2000000; $i++) {
 $exchange->publish("message $i", "routekey");
}
Copier après la connexion

Réception de messages

<?php
$connection = new AMQPConnection();
$connection->connect();
$channel = new AMQPChannel($connection);
$queue = new AMQPQueue($channel);
$queue->setName(&#39;queue1&#39;);
$queue->declare();
$queue->bind('exchange1', 'routekey');
while (true) {
  $queue->consume(function($envelope, $queue){
   echo $envelope->getBody(), PHP_EOL;
  }, AMQP_AUTOACK);
}
Copier après la connexion

Recommandations associées :

File d'attente de messages PHP service

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:php.cn
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!