Rumah > Artikel > pembangunan bahagian belakang > Cara menggunakan Google Cloud Pub/Sub untuk melaksanakan langganan dan penerbitan mesej dalam pembangunan PHP
Google Cloud Pub/Sub ialah perkhidmatan pemesejan terurus sepenuhnya yang membolehkan anda memindahkan data masa nyata dan tak segerak antara berbilang aplikasi dengan pasti. Ia ialah penyelesaian yang digunakan secara meluas yang memenuhi banyak kes penggunaan seperti pengimbangan beban, pengkomputeran dipacu peristiwa, pengelogan, pemberitahuan dan analitik, dsb.
Dalam pembangunan PHP, ia juga boleh digunakan untuk menggunakan Google Cloud Pub/Sub untuk melaksanakan langganan dan penerbitan mesej. Artikel ini menerangkan cara menggunakan Google Cloud Pub/Sub untuk pemesejan daripada aplikasi PHP.
Sebelum menggunakan Google Cloud Pub/Sub, anda perlu mendayakan API Google Cloud Pub/Sub pada Google Cloud Console dan buat akaun perkhidmatan Google Cloud Pub/Sub.
Dayakan API Google Cloud Pub/Sub:
composer require google/cloud-pubsub
require_once 'vendor/autoload.php'; use GoogleCloudPubSubPubSubClient; $pubsub = new PubSubClient(); $topic = $pubsub->topic('example-topic'); $topic->publish(['data' => 'Hello, World!']);Dalam kod di atas, autoloader dalam fail "vendor/autoload.php" pertama kali digunakan. Kemudian, nyatakan objek klien PubSub menggunakan kelas "GoogleCloudPubSubPubSubSubClient". Kemudian, benarkan objek pelanggan Pub/Sub menggunakan bukti kelayakan akaun perkhidmatan yang dibuat dalam langkah sebelumnya. Setelah objek pelanggan dibenarkan, anda boleh menggunakannya untuk mengendalikan topik dan langganan anda. Seterusnya, anda perlu menggunakan kaedah $pubsub->topic() untuk mendapatkan penunjuk kepada topik bernama "example-topic". Kemudian, gunakan kaedah $topic->publish() untuk menerbitkan mesej kepada topik tersebut. Kaedah publish() menerima parameter tatasusunan, di mana kunci "data" digunakan untuk menentukan kandungan mesej yang akan diterbitkan.
require_once 'vendor/autoload.php'; use GoogleCloudPubSubPubSubClient; $pubsub = new PubSubClient(); $topic = $pubsub->topic('example-topic'); $subscription = $topic->subscription('example-subscription'); if (!$subscription->exists()) { $subscription->create(); } $messages = $subscription->pull(); foreach ($messages as $message) { echo $message->data() . PHP_EOL; $subscription->acknowledge($message); }Dalam kod di atas, mula-mula gunakan autoloading dalam peranti fail "vendor/autoload.php". Kemudian, nyatakan objek klien PubSub menggunakan kelas "GoogleCloudPubSubPubSubSubClient". Kemudian, gunakan kaedah $pubsub->topic() untuk mendapatkan penunjuk kepada topik yang dinamakan "example-topic". Kemudian, gunakan kaedah $topic->subscription() untuk mendapatkan penunjuk kepada langganan bernama "example-subscription". Jika langganan tidak wujud, gunakan kaedah $subscription->create() untuk membuat langganan. Gunakan kaedah $subscription->pull() untuk menarik mesej daripada langganan. Kaedah $subscription->pull() akan mengembalikan tatasusunan yang mengandungi objek mesej yang dikembalikan. Jika mesej diterima, gelung melalui tatasusunan mesej, keluarkan kandungan mesej dan gunakan kaedah $subscription->acknowledge() untuk mengesahkan bahawa mesej itu telah digunakan. Nota: Kaedah pull() menyekat sehingga mesej diterima atau tamat masa dicapai. Jika anda ingin menunggu mesej baharu, anda boleh menggunakan kaedah acknowledge() untuk mengakui mesej yang diterima.
Atas ialah kandungan terperinci Cara menggunakan Google Cloud Pub/Sub untuk melaksanakan langganan dan penerbitan mesej dalam pembangunan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!