Dengan perkembangan berterusan perniagaan Internet, pertukaran data antara sistem menjadi semakin kerap. Dalam seni bina tindak balas permintaan tradisional, kaedah pemindahan data selalunya serentak, iaitu, menunggu hasil tindak balas permintaan sebelum meneruskan ke langkah seterusnya Apabila jumlah data besar atau masa respons permintaan adalah panjang, kaedah ini selalunya menyebabkan sistem merosot Prestasi. Pada masa ini, baris gilir mesej menjadi penyelesaian yang ideal, yang boleh mencapai kelebihan tak segerak, penyahgandingan dan skalabiliti yang baik.
Sebagai perisian tengah baris gilir mesej, RabbitMQ menyediakan API yang kaya dan menyokong berbilang bahasa pengaturcaraan, antaranya PHP adalah yang paling banyak digunakan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan bahasa PHP dan perisian tengah RabbitMQ untuk melaksanakan pemprosesan dan pengedaran baris gilir mesej.
1. Pasang RabbitMQ
Pertama, kita perlu memasang pelayan RabbitMQ secara tempatan supaya kita boleh menjalankan pembangunan dan ujian. Anda boleh memuat turun pakej pemasangan untuk sistem yang sepadan dari laman web rasmi RabbitMQ dan memasangnya Proses pemasangan tidak akan diterangkan secara terperinci.
2. Sambungan PHP
Selepas memasang pelayan RabbitMQ, anda perlu memasang sambungan RabbitMQ dalam PHP. Dalam persekitaran Windows, anda boleh memuat turun sambungan php_amqp, menyalin fail amqp.dll ke direktori sambungan PHP dan menambah konfigurasi berikut dalam php.ini:
extension=php_amqp.dll
Dalam persekitaran Linux, anda boleh menggunakan kompilasi pecl atau kod sumber untuk memasang sambungan RabbitMQ Untuk langkah tertentu, sila rujuk dokumentasi rasmi.
3. Gunakan PHP untuk pemprosesan dan pengedaran baris gilir mesej
Anda perlu menggunakan objek amqp_connection untuk mewujudkan sambungan dengan perkhidmatan RabbitMQ Konfigurasi asas termasuk alamat pelayan, nombor port, nama pengguna, kata laluan, dll. Contoh kod adalah seperti berikut:
$connection = new AMQPConnection([ 'host' => 'localhost', 'port' => 5672, 'login' => 'guest', 'password' => 'guest', ]); $connection->connect();
$channel = new AMQPChannel($connection); $queue = new AMQPQueue($channel); $queue->setName('my_queue'); $queue->setFlags(AMQP_DURABLE); $queue->declare();
$exchange = new AMQPExchange($channel); $exchange->declare('my_exchange', AMQPExchange::FANOUT, false, true); $message = 'Hello RabbitMQ!'; $exchange->publish($message, 'my_routing_key');
$consumer = new AMQPConsumer($channel, $queue); $consumer->setCallback(function (AMQPEnvelope $envelope, AMQPQueue $queue) { $message = $envelope->getBody(); echo $message; }); $consumer->consume();
Atas ialah kandungan terperinci Cara menggunakan PHP dan RabbitMQ untuk pemprosesan dan pengedaran baris gilir mesej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!