Maison  >  Article  >  développement back-end  >  Comment accéder à la file d'attente de messages RabbitMQ en utilisant PHP

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

不言
不言original
2018-06-07 09:41:572536parcourir

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

É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();

É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();

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');

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");
}

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);
}

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!

Déclaration:
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