現在の位置: ホーム> 最新記事一覧> PHPとRabbitMQを使用してメッセージの公開モードとサブスクリプションモードを実装する方法

PHPとRabbitMQを使用してメッセージの公開モードとサブスクリプションモードを実装する方法

M66 2025-06-07

PHPとRabbitMQを使用してメッセージの公開モードとサブスクリプションモードを実装する方法

Rabbitmqは、高性能で信頼できるメッセージキューイングシステムです。人気のあるサーバー側のスクリプト言語であるPHPと組み合わせることで、メッセージの公開とサブスクリプションの関数を簡単に実装できます。この記事では、PHPとRabbitMQの統合を段階的に完了し、明確なサンプルコードを使用して、メッセージングメカニズムをすばやく構築するのに役立ちます。

rabbitmqをインストールします

まず、サーバーにRabbitMQをインストールする必要があります。 RabbitMQの公式Webサイトにアクセスして、システムに適したインストールパッケージをダウンロードし、公式ドキュメントに従ってインストールと基本構成を完了することができます。

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 emple.php</span>

メッセージの公開とサブスクリプションの出力を見ることができ、メッセージ配信メカニズムが正常に実行されたことを示します。

要約します

この記事では、環境の構築からコード実装までの詳細な手順をカバーするメッセージの公開とサブスクリプションを実装するためにPHPとRabbitMQを組み合わせて組み合わせて紹介します。 RabbitMQの高性能メッセージキューイングシステムの助けを借りて、PHPアプリケーションは柔軟で信頼できるメッセージングを実現し、複雑な分散システムの強固な基盤を提供します。