Cara mencapai pemesejan yang boleh dipercayai menggunakan PHP dan RabbitMQ
Ikhtisar
Dalam pembangunan aplikasi moden, pemesejan ialah kaedah komunikasi yang biasa. RabbitMQ ialah perisian baris gilir mesej yang biasa digunakan yang boleh membantu kami mencapai penghantaran mesej yang boleh dipercayai. Artikel ini akan memperkenalkan cara menggunakan PHP dan RabbitMQ untuk mencapai pemesejan yang boleh dipercayai, dan menerangkannya secara terperinci dengan contoh kod.
Pasang sambungan AMQP PHP
PHP perlu menggunakan sambungan AMQP untuk menyambung ke RabbitMQ, jadi kami perlu memasang sambungan AMQP dalam PHP. Anda boleh memasang sambungan AMQP melalui arahan berikut:
# 使用pecl命令安装 $ pecl install amqp # 使用composer安装 $ composer require php-amqplib/php-amqplib
Sambung ke RabbitMQ
Untuk menyambung ke RabbitMQ dalam PHP, anda perlu menentukan parameter sambungan yang berkaitan, termasuk hos, port, nama pengguna dan kata laluan, dsb. Anda boleh menggunakan kod berikut untuk mewujudkan sambungan dengan RabbitMQ:
require_once __DIR__ . '/vendor/autoload.php'; $connection = new PhpAmqpLibConnectionAMQPConnection( 'localhost', // RabbitMQ服务器主机名 5672, // RabbitMQ服务器端口 'guest', // RabbitMQ用户名 'guest' // RabbitMQ密码 ); $channel = $connection->channel();
Buat baris gilir mesej
Menggunakan RabbitMQ, anda perlu membuat baris gilir terlebih dahulu untuk menyimpan mesej yang akan dihantar. Barisan gilir boleh dibuat menggunakan kod berikut:
$queueName = 'my_queue'; // 队列名称 $channel->queue_declare($queueName, false, true, false, false);
Menghantar mesej
Menggunakan nama baris gilir, kita boleh menghantar mesej ke baris gilir melalui kod berikut:
$msg = new PhpAmqpLibMessageAMQPMessage('Hello RabbitMQ!'); $channel->basic_publish($msg, '', $queueName);
Terima mesej dan sahkan
Menerima mesej dilakukan melalui pengguna. Berikut ialah contoh kod untuk pengguna:
$callback = function ($msg) { echo "Received message: " . $msg->body . " "; $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']); }; $channel->basic_consume($queueName, '', false, false, false, false, $callback); while (count($channel->callbacks)) { $channel->wait(); }
Dalam kod ini, kami mencipta fungsi panggil balik untuk menerima mesej dan memprosesnya. Selepas memproses, anda perlu mengesahkan bahawa mesej telah diproses melalui kaedah basic_ack
. Ini memastikan mesej tidak hilang apabila pengguna keluar secara tidak normal.
Tutup sambungan
Selepas menyelesaikan penghantaran mesej, sambungan ke RabbitMQ mesti ditutup:
$channel->close(); $connection->close();
Ringkasan
Dengan menggunakan PHP dan RabbitMQ, kita boleh mencapai penghantaran mesej yang boleh dipercayai dengan mudah. Dalam artikel ini, kami menerangkan cara memasang sambungan RabbitMQ dan AMQP serta terperinci cara mewujudkan sambungan, membuat baris gilir, menghantar dan menerima mesej dengan contoh kod. Saya harap artikel ini membantu anda memahami dan menggunakan PHP dan RabbitMQ untuk mencapai pemesejan yang boleh dipercayai.
Atas ialah kandungan terperinci Bagaimana untuk mencapai pemesejan yang boleh dipercayai menggunakan PHP dan RabbitMQ. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!