현재 위치: > 최신 기사 목록> PHP 및 RabbitMQ를 사용하여 메시지 게시 및 구독 모드를 구현하는 방법

PHP 및 RabbitMQ를 사용하여 메시지 게시 및 구독 모드를 구현하는 방법

M66 2025-06-07

PHP 및 RabbitMQ를 사용하여 메시지 게시 및 구독 모드를 구현하는 방법

RabbitMQ는 고성능 및 신뢰할 수있는 메시지 대기 시스템입니다. 인기있는 서버 측 스크립팅 언어 인 PHP와 결합하여 메시지 게시 및 구독의 기능을 쉽게 구현할 수 있습니다. 이 기사를 사용하면 메시징 메커니즘을 신속하게 구축하는 데 도움이되는 명확한 샘플 코드와 함께 PHP 및 RabbitMQ의 통합을 단계별로 완료하게됩니다.

RabbitMQ를 설치하십시오

먼저 서버에 RabbitMQ를 설치해야합니다. RabbitMQ의 공식 웹 사이트로 이동하여 시스템에 적합한 설치 패키지를 다운로드하고 공식 문서에 따라 설치 및 기본 구성을 완료 할 수 있습니다.

PHP의 AMQP 확장을 설치하십시오

PHP에서 RabbitMQ를 작동하려면 AMQP 확장을 사용해야합니다. 확장자는 다음과 같이 설치할 수 있습니다.

 <span class="fun">Sudo apt-get 설치 PHP-AMQP</span>

RabbitMQ 연결 정보를 구성하십시오

RabbitMQ 서버에 연결할 때는 관련 연결 매개 변수를 구성해야합니다. 다음 예제는 기본 로컬 연결 구성을 사용합니다.

 $connection = new AMQPConnection([
    'host' => 'localhost',
    'port' => '5672',
    'vhost' => '/',
    'login' => 'guest',
    'password' => 'guest'
]);

교환 및 대기열을 선언하십시오

RabbitMQ에서는 메시지가 Exchange를 통해 지정된 대기열로 라우팅됩니다. Exchange는 메시지 배포를 담당하며 큐는 메시지 저장 및 소비를 담당합니다.

다음 예제는 test_exchange 라는 교환과 test_queue를 선언합니다.

 $channel = $connection->channel();
<p>$channel->exchange_declare('test_exchange', 'fanout', false, false, false);</p>
<p>list($queue_name, ,) = $channel->queue_declare('test_queue', false, false, true, false);</p>
<p>$channel->queue_bind($queue_name, 'test_exchange');

메시지를 게시하고 구독합니다

이제 메시지 게시를 시작하고 지정된 대기열을 통해 구독하고 소비하십시오. 예는 다음과 같습니다.

 $message = 'Hello, RabbitMQ!';
<p>$channel->basic_publish(<br>
new AMQPMessage($message),<br>
'test_exchange',<br>
''<br>
);</p>
<p>echo " [x] Sent '$message'\n";</p>
<p>$channel->basic_consume(<br>
$queue_name,<br>
'',<br>
false,<br>
true,<br>
false,<br>
false,<br>
function($msg) {<br>
echo ' [x] Received ', $msg->body, "\n";<br>
}<br>
);</p>
<p>while (count($channel->callbacks)) {<br>
$channel->wait();<br>
}

샘플 코드를 실행하십시오

위의 코드를 example.php 와 같은 php 파일로 저장하고 터미널을 통해 실행하십시오.

 <span class="fun">php example.php</span>

메시지 게시 및 구독의 출력을 볼 수 있으며, 메시지 전달 메커니즘이 성공적으로 실행되었음을 나타냅니다.

요약

이 기사는 PHP와 RabbitMQ를 결합하여 환경 구성에서 코드 구현에 이르기까지 자세한 단계를 다루는 메시지 게시 및 구독을 구현하는 방법을 소개합니다. PHP 응용 프로그램은 RabbitMQ의 고성능 메시지 대기 시스템을 통해 유연하고 신뢰할 수있는 메시징을 달성하여 복잡한 분산 시스템을위한 견고한 기반을 제공 할 수 있습니다.