首頁  >  文章  >  後端開發  >  使用PHP存取RabbitMQ訊息佇列的方法

使用PHP存取RabbitMQ訊息佇列的方法

不言
不言原創
2018-06-07 09:41:572526瀏覽

這篇文章主要介紹了使用PHP存取RabbitMQ訊息佇列的方法,結合實例形式分析了RabbitMQ訊息佇列的相關擴充安裝、佇列建立、佇列綁定、訊息傳送、訊息接收等相關操作技巧,需要的朋友可以參考下方

本文實例講述了使用PHP存取RabbitMQ訊息佇列的方法。分享給大家供大家參考,如下:

擴充安裝

PHP存取RabbitMQ實際使用的是AMQP協議,所以我們只要安裝epel庫中的php- pecl-amqp這個套件即可

rpm -ivh http://mirror.neu.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install php-pecl-amqp

#交換建立

##

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

##佇列建立

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

#佇列綁定

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

訊息發送

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

訊息接收

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

#########相關推薦:##########PHP 訊息佇列服務############### ########

以上是使用PHP存取RabbitMQ訊息佇列的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn