>  기사  >  백엔드 개발  >  PHP를 사용하여 RabbitMQ 메시지 큐에 액세스하는 방법

PHP를 사용하여 RabbitMQ 메시지 큐에 액세스하는 방법

不言
不言원래의
2018-06-07 09:41:572420검색

이 기사에서는 주로 RabbitMQ 메시지 큐에 액세스하기 위해 PHP를 사용하는 방법을 소개합니다. RabbitMQ 메시지 큐의 관련 확장 설치, 큐 설정, 큐 바인딩, 메시지 전송, 메시지 수신 및 기타 관련 작업 기술을 예제 형식으로 분석합니다. .필요한 친구는 참고할 수 있습니다

이 기사의 예에서는 PHP를 사용하여 RabbitMQ 메시지 대기열에 액세스하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

확장 설치

PHP는 실제로 AMQP 프로토콜을 사용하여 RabbitMQ에 액세스하므로 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으로 문의하세요.