Rumah > pembangunan bahagian belakang > tutorial php > Pustaka bas mesej dalam PHP8.0

Pustaka bas mesej dalam PHP8.0

王林
Lepaskan: 2023-05-14 08:02:01
asal
1326 orang telah melayarinya

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
Salin selepas log masuk

Selepas pemasangan selesai, anda perlu menambah maklumat konfigurasi perpustakaan sambungan dalam fail php.ini:

extension=amqp
Salin selepas log masuk

4. Penggunaan AMQP

Sambung ke bas mesej
  1. Pertama, anda perlu mewujudkan sambungan ke bas mesej. Dalam AMQP, gunakan AMQPConnection untuk menyambung ke bas mesej. Sambungan memerlukan penentuan nama hos, nama pengguna, kata laluan dan maklumat lain, dan pelbagai atribut boleh ditetapkan, seperti tamat masa, selang degupan jantung, dsb.
$connection = new AMQPConnection(array(
    'host' => 'localhost',
    'port' => '5672',
    'login' => 'guest',
    'password' => 'guest'
));
Salin selepas log masuk

Buat saluran
  1. Selepas sambungan berjaya, anda boleh membuat saluran. Saluran ialah unit pengurusan asas dalam AMQP, yang boleh digunakan untuk menghantar dan menerima mesej, mengikat baris gilir dan penukar, dan operasi lain.
$channel = new AMQPChannel($connection);
Salin selepas log masuk

Isytihar baris gilir
  1. Dalam AMQP, anda perlu mengisytiharkan baris gilir sebelum anda boleh menghantar mesej ke baris gilir ini.
$queue_name = "my_queue_demo";
$queue = new AMQPQueue($channel);
$queue->setName($queue_name);
$queue->declare(); // 声明队列
Salin selepas log masuk

Hantar mesej
  1. Gunakan kaedah penerbitan baris gilir untuk menghantar mesej ke baris gilir:
$message = "Hello World!";
$queue->publish($message);
Salin selepas log masuk

Terima mesej
  1. Gunakan kaedah dapatkan baris gilir untuk mendapatkan mesej daripada baris gilir:
$message = $queue->get();
if ($message) {
    echo "Received Message: " . $message->getBody() . "
";
    $queue->ack($message->getDeliveryTag());
}
Salin selepas log masuk

Ikat baris gilir dan penukar
  1. Dalam AMQP, baris gilir perlu pengikatan Exchange menentukan mesej yang hendak diterima. Pengikatan boleh dilakukan menggunakan kaedah ikatan penukar dan kaedah ikatan baris gilir.
$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);
Salin selepas log masuk

Terbitkan mesej dengan Kunci Laluan
  1. Apabila menggunakan suis, anda boleh menerbitkan mesej dengan Kunci Laluan. Kunci penghalaan ialah kata kunci yang digunakan untuk menghalakan mesej ke baris gilir tertentu, yang dinyatakan semasa mengikat baris gilir dan pertukaran.
$routing_key = "my_routing_key";
$exchange->publish("Hello World!", $routing_key);
Salin selepas log masuk

Menggunakan mesej dengan Kunci Penghalaan
  1. Gunakan kaedah penggunaan baris gilir untuk mula mengambil apabila terdapat mesej dalam baris gilir. Anda boleh menentukan fungsi panggil balik dalam kaedah penggunaan untuk memproses mesej yang diterima:
$callback = function(AMQPEnvelope $envelope, AMQPQueue $queue) {
    echo "Received Message: " . $envelope->getBody() . "
";
    $queue->ack($envelope->getDeliveryTag());
};

$queue->consume($callback);
Salin selepas log masuk

Tutup sambungan
  1. Akhir sekali, selepas selesai menggunakan AMQP, anda perlu menutup sambungan dengan sambungan bas mesej.
$connection->disconnect();
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan