Dengan pembangunan aplikasi rangkaian yang berterusan, baris gilir mesej digunakan lebih dan lebih meluas Untuk aplikasi berkonkurensi tinggi dan berprestasi tinggi, menggunakan baris gilir mesej boleh meningkatkan kelajuan tindak balas dan kestabilan program dengan berkesan. Dalam PHP8.0, perpustakaan bas mesej baharu telah ditambah, yang meningkatkan kecekapan baris gilir mesej PHP Artikel ini akan memperkenalkan penggunaan perpustakaan ini secara terperinci.
1. Apakah yang dimaksudkan dengan bas mesej? Pengeluar menghantar mesej ke bas mesej dan pengguna menerima mesej daripada bas mesej. Sebagai perisian tengah, bas mesej memudahkan penghantaran mesej, mengurangkan gandingan sistem dan menjadikan pertukaran maklumat antara pelbagai modul lebih fleksibel.
2. Pustaka bas mesej dalam PHP8.0
PHP8.0 memperkenalkan perpustakaan bas mesej yang dipanggil "AMQP", yang menyokong pelbagai kaedah operasi baris gilir mesej, seperti menghantar dan menerima mesej, mencipta baris gilir dan penukar, dsb. Setelah perpustakaan ini dilancarkan, ia menjadi alat pilihan untuk pemprosesan baris gilir mesej berprestasi tinggi dalam ekosistem PHP.
3. Pasang pustaka sambungan AMQP
Memandangkan AMQP bukan perpustakaan standard PHP, anda perlu memasang pustaka sambungan yang sepadan sebelum menggunakan AMQP. Pustaka sambungan AMQP boleh dipasang melalui PECL Perintah pemasangan adalah seperti berikut:
pecl install amqp
Selepas pemasangan selesai, anda perlu menambah maklumat konfigurasi perpustakaan sambungan dalam fail php.ini:
extension=amqp
4. Penggunaan AMQP
Sambung ke bas mesej$connection = new AMQPConnection(array( 'host' => 'localhost', 'port' => '5672', 'login' => 'guest', 'password' => 'guest' ));
$channel = new AMQPChannel($connection);
$queue_name = "my_queue_demo"; $queue = new AMQPQueue($channel); $queue->setName($queue_name); $queue->declare(); // 声明队列
$message = "Hello World!"; $queue->publish($message);
$message = $queue->get(); if ($message) { echo "Received Message: " . $message->getBody() . " "; $queue->ack($message->getDeliveryTag()); }
$exchange_name = "my_exchange_demo"; $exchange = new AMQPExchange($channel); $exchange->setName($exchange_name); $exchange->setType(AMQP_EX_TYPE_DIRECT); $exchange->declare(); // 声明交换器 // 绑定队列和交换器 $queue->bind($exchange_name, $queue_name);
$routing_key = "my_routing_key"; $exchange->publish("Hello World!", $routing_key);
$callback = function(AMQPEnvelope $envelope, AMQPQueue $queue) { echo "Received Message: " . $envelope->getBody() . " "; $queue->ack($envelope->getDeliveryTag()); }; $queue->consume($callback);
$connection->disconnect();
5 Ringkasan
Artikel ini memperkenalkan penggunaan asas AMQP, perpustakaan bas mesej dalam PHP8.0, termasuk menyambung ke bas mesej, mencipta saluran, mengisytiharkan baris gilir, menghantar dan menerima mesej, dan mengikat Tentukan baris gilir dan penukar, dan cara menggunakan kekunci penghalaan untuk menggunakan mesej dengan Kekunci Penghalaan, dsb. Melalui penggunaan perpustakaan ini, kami boleh menggunakan baris gilir mesej dengan lebih mudah untuk melaksanakan aplikasi web berkonkurensi tinggi dan berprestasi tinggi.
Atas ialah kandungan terperinci Pustaka bas mesej dalam PHP8.0. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!