Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan sambungan AMQP PHP?

Bagaimana untuk menggunakan sambungan AMQP PHP?

王林
王林asal
2023-06-02 12:10:362253semak imbas

Dengan perkembangan teknologi Internet, semakin banyak tapak web perlu mengendalikan sejumlah besar permintaan serentak dan data masa nyata. Untuk memenuhi keperluan ini, baris gilir mesej telah menjadi penyelesaian yang popular. PHP memerlukan penggunaan protokol baris gilir mesej untuk memanggil perkhidmatan baris gilir mesej, dan AMQP (Advanced Message Qeuing Protocol) ialah protokol baris gilir mesej lanjutan Ia adalah protokol rangkaian yang digunakan untuk menghantar mesej antara aplikasi. AMQP menyediakan perkhidmatan pemesejan yang cekap dan boleh dipercayai, menyokong pelbagai bahasa pengaturcaraan dan pelaksanaan baris gilir mesej.

Sambungan AMQP PHP menyediakan fungsi untuk PHP memanggil AMQP Artikel ini akan memperkenalkan cara menggunakan sambungan AMQP dalam PHP.

Langkah 1: Pasang sambungan AMQP

Sebelum menggunakan sambungan AMQP, anda perlu memasang sambungan. Sambungan AMQP menyokong PHP versi 5.3.0 dan ke atas Ia boleh dipasang melalui PECL:

pecl install amqp

atau disusun dan dipasang melalui kod sumber:

git clone https://github.com/pdezwart/php-amqp.git
cd php-amqp
phpize
./configure
make
sudo make install

Selepas pemasangan berjaya, tambahkan konfigurasi berikut dalam. fail php.ini:

extension=amqp.so

Langkah 2: Sambung ke pelayan AMQP

Untuk menggunakan sambungan AMQP untuk menyambung ke pelayan AMQP, anda perlu mencipta objek sambungan terlebih dahulu dan mewujudkan sambungan dengan pelayan melalui objek ini. Berikut ialah contoh mudah:

<?php
$connection = new AMQPConnection(array(
    'host' => 'localhost',
    'port' => '5672',
    'login' => 'guest',
    'password' => 'guest',
    'vhost' => '/',
));
$connection->connect();
?>

Dalam contoh ini, parameter sambungan pelayan AMQP dihantar melalui pembina kelas AMQPConnection, dan sambungan diwujudkan dengan pelayan melalui kaedah connect().

Langkah 3: Cipta saluran AMQP

Selepas mewujudkan sambungan AMQP, anda perlu mencipta saluran AMQP untuk penghantaran mesej. Saluran AMQP ialah subkomponen sambungan AMQP, dan berbilang saluran boleh dibuat setiap sambungan. Berikut ialah contoh mudah:

<?php
// 建立 AMQP 连接
$connection = new AMQPConnection(array(
    'host' => 'localhost',
    'port' => '5672',
    'login' => 'guest',
    'password' => 'guest',
    'vhost' => '/',
));
$connection->connect();

// 创建 AMQP 通道
$channel = new AMQPChannel($connection);
?>

Dalam contoh ini, saluran AMQP dicipta melalui kelas AMQPChannel.

Langkah 4: Isytihar baris gilir AMQP

Selepas mencipta saluran AMQP, anda perlu mengisytiharkan baris gilir AMQP untuk penghantaran mesej. Berikut ialah contoh mudah:

<?php
// 建立 AMQP 连接和通道
$connection = new AMQPConnection(array(
    'host' => 'localhost',
    'port' => '5672',
    'login' => 'guest',
    'password' => 'guest',
    'vhost' => '/',
));
$connection->connect();

$channel = new AMQPChannel($connection);

// 声明 AMQP 队列
$queue = new AMQPQueue($channel);
$queue->setName('my_queue');
$queue->setFlags(AMQP_DURABLE);
$queue->declare();
?>

Dalam contoh ini, baris gilir AMQP diisytiharkan melalui kelas AMQPQueue, nama baris gilir ditetapkan kepada my_queue dan bendera baris gilir ditetapkan kepada AMQP_DURABLE, menunjukkan bahawa baris gilir adalah gigih.

Langkah 5: Hantar dan terima mesej

Selepas mengisytiharkan baris gilir AMQP, anda boleh menghantar mesej melalui kaedah hantar() atau menerima mesej melalui kaedah consume(). Berikut ialah contoh mudah:

<?php
// 建立 AMQP 连接和通道
$connection = new AMQPConnection(array(
    'host' => 'localhost',
    'port' => '5672',
    'login' => 'guest',
    'password' => 'guest',
    'vhost' => '/',
));
$connection->connect();

$channel = new AMQPChannel($connection);

// 声明 AMQP 队列
$queue = new AMQPQueue($channel);
$queue->setName('my_queue');
$queue->setFlags(AMQP_DURABLE);
$queue->declare();

// 发送消息
$message = new AMQPMessage('Hello, World!');
$queue->publish($message);

// 接收消息
$callback = function(AMQPEnvelope $envelope, AMQPQueue $queue) {
    echo $envelope->getBody() . "
";
    $queue->ack($envelope->getDeliveryTag());
};

$queue->consume($callback);
?>

Dalam contoh ini, mesej dihantar ke baris gilir my_queue melalui kaedah publish(), mesej dalam baris gilir my_queue diterima melalui kaedah consume() dan disahkan melalui kaedah ack() Mesej telah diproses.

Ringkasan

Menggunakan sambungan AMQP PHP, anda boleh menyambung ke pelayan AMQP dengan mudah dan menghantar serta menerima mesej. Artikel ini merangkumi langkah asas untuk menggunakan sambungan AMQP, termasuk menyambung ke pelayan AMQP, mencipta saluran AMQP, mengisytiharkan baris gilir AMQP dan menghantar/menerima mesej. Dengan memahami konsep asas ini, anda boleh memperoleh pemahaman yang lebih mendalam tentang protokol AMQP dan cara ia dilaksanakan, dan memanfaatkan perkhidmatan AMQP untuk mengendalikan keperluan pemesejan yang lebih cekap dan boleh dipercayai.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan sambungan AMQP PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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