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('exchange1'); $exchange->setType('fanout'); $exchange->declare();
Établissement de la file d'attente
<?php $connection = new AMQPConnection(); $connection->connect(); $channel = new AMQPChannel($connection); $queue = new AMQPQueue($channel); $queue->setName('queue1'); $queue->declare();
Liaison de la file d'attente
<?php $connection = new AMQPConnection(); $connection->connect(); $channel = new AMQPChannel($connection); $queue = new AMQPQueue($channel); $queue->setName('queue1'); $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('exchange5'); $exchange->setType('fanout'); $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('queue1'); $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!