Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk melaksanakan pemberitahuan mesej yang diedarkan dan tolak dalam perkhidmatan mikro PHP
Berikut ialah kaedah pelaksanaan pemberitahuan mesej teragih dan tolak berdasarkan perkhidmatan mikro PHP, termasuk contoh kod terperinci.
Tajuk: Pemberitahuan mesej yang diedarkan dan pelaksanaan tolak dalam perkhidmatan mikro PHP
Pengenalan:
Dengan peningkatan seni bina perkhidmatan mikro, semakin banyak aplikasi Seni bina teragih diguna pakai untuk mencapai pemisahan sistem dan penyahgandingan perkhidmatan. Dalam sistem yang diedarkan, pemberitahuan mesej dan tolak adalah keperluan yang sangat biasa untuk komunikasi tak segerak antara perkhidmatan yang berbeza. Untuk perkhidmatan mikro PHP, cara melaksanakan pemberitahuan dan tolak mesej yang diedarkan adalah tugas yang penting dan mencabar. Artikel ini akan memperkenalkan kaedah untuk melaksanakan pemberitahuan mesej yang diedarkan dan menolak dalam perkhidmatan mikro PHP, dan memberikan contoh kod yang sepadan.
1. Menggunakan baris gilir mesej
# 安装依赖 sudo apt-get install -y curl gnupg debian-archive-keyring apt-transport-https # 添加RabbitMQ官方GPG key curl https://packages.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add - # 添加RabbitMQ的APT源 echo "deb https://dl.bintray.com/rabbitmq/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/bintray.rabbitmq.list # 更新APT源 sudo apt-get update # 安装RabbitMQ Server sudo apt-get install -y rabbitmq-server
# 创建队列 sudo rabbitmqctl add_queue notification # 创建交换机 sudo rabbitmqctl add_exchange exchange
composer require php-amqplib/php-amqplib
<?php require_once __DIR__ . '/vendor/autoload.php'; $connection = new PhpAmqpLibConnectionAMQPStreamConnection('localhost', 5672, 'guest', 'guest'); $channel = $connection->channel(); $channel->exchange_declare('exchange', 'direct', false, false, false); $message = 'Hello, world!'; $channel->basic_publish(new PhpAmqpLibMessageAMQPMessage($message), 'exchange', 'notification'); $channel->close(); $connection->close();
Daftar dan konfigurasikan perkhidmatan tolak
Pertama, anda perlu mendaftar dan membuat perkhidmatan tolak di Alibaba Cloud Perkhidmatan tolak. Selepas pendaftaran berjaya, anda boleh mendapatkan beberapa maklumat pengesahan identiti yang diperlukan, seperti Kunci Akses dan Rahsia Akses. Seterusnya, konfigurasikan maklumat ini ke dalam perkhidmatan mikro PHP untuk memudahkan operasi tolak seterusnya.
Pasang Push SDK
<?php require_once __DIR__ . '/vendor/autoload.php'; $connection = new PhpAmqpLibConnectionAMQPStreamConnection('localhost', 5672, 'guest', 'guest'); $channel = $connection->channel(); $channel->exchange_declare('exchange', 'direct', false, false, false); list($queue_name, ,) = $channel->queue_declare('', false, false, true, false); $channel->queue_bind($queue_name, 'exchange', 'notification'); $callback = function ($msg) { echo 'Received message: ' . $msg->body; }; $channel->basic_consume($queue_name, '', false, true, false, false, $callback); while ($channel->is_consuming()) { $channel->wait(); } $channel->close(); $connection->close();
composer require alibabacloud/sdk#🎜 🎜#Ringkasan:
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pemberitahuan mesej yang diedarkan dan tolak dalam perkhidmatan mikro PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!