Heim > Artikel > Backend-Entwicklung > So verwenden Sie Google Cloud Pub/Sub, um das Abonnieren und Veröffentlichen von Nachrichten in der PHP-Entwicklung zu implementieren
Google Cloud Pub/Sub ist ein vollständig verwalteter Messaging-Dienst, der Ihnen die zuverlässige Übertragung von Echtzeit- und asynchronen Daten zwischen mehreren Anwendungen ermöglicht. Es handelt sich um eine weit verbreitete Lösung, die viele Anwendungsfälle wie Lastausgleich, ereignisgesteuertes Computing, Protokollierung, Benachrichtigungen und Analysen usw. abdeckt.
In der PHP-Entwicklung ist es auch möglich, Google Cloud Pub/Sub zu verwenden, um das Abonnieren und Veröffentlichen von Nachrichten zu implementieren. In diesem Artikel wird erläutert, wie Sie Google Cloud Pub/Sub für Nachrichten aus einer PHP-Anwendung verwenden.
Bevor Sie Google Cloud Pub/Sub verwenden, müssen Sie die Google Cloud Pub/Sub-API in der Google Cloud Console aktivieren und ein Google Cloud Pub/Sub-Dienstkonto erstellen.
Aktivieren Sie die Google Cloud Pub/Sub API:
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!']);Im obigen Code wird zuerst der Autoloader in der Datei „vendor/autoload.php“ verwendet. Instanziieren Sie dann ein PubSub-Clientobjekt mithilfe der Klasse „GoogleCloudPubSubPubSubClient“. Autorisieren Sie dann das Pub/Sub-Clientobjekt mit den im vorherigen Schritt erstellten Anmeldeinformationen für das Dienstkonto. Sobald das Clientobjekt autorisiert ist, können Sie es zum Bearbeiten Ihrer Themen und Abonnements verwenden. Als nächstes müssen Sie die Methode $pubsub->topic() verwenden, um einen Zeiger auf das Thema mit dem Namen „example-topic“ zu erhalten. Verwenden Sie dann die Methode $topic->publish(), um Nachrichten im Thema zu veröffentlichen. Die Methode publish() akzeptiert einen Array-Parameter, wobei der Schlüssel „data“ verwendet wird, um den zu veröffentlichenden Nachrichteninhalt anzugeben.
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); }Im obigen Code verwenden Sie zunächst das automatische Laden im Dateigerät „vendor/autoload.php“. Dann instanziieren Sie ein PubSub-Clientobjekt mithilfe der Klasse „GoogleCloudPubSubPubSubClient“. Dann verwenden Sie die Methode $pubsub->topic(), um einen Zeiger auf das Thema mit dem Namen „example-topic“ zu erhalten. Verwenden Sie dann die Methode $topic->subscription(), um einen Zeiger auf das Abonnement mit dem Namen „example-subscription“ abzurufen. Wenn das Abonnement nicht existiert, verwenden Sie die Methode $subscription->create(), um das Abonnement zu erstellen. Verwenden Sie die Methode $subscription->pull(), um Nachrichten aus dem Abonnement abzurufen. Die Methode $subscription->pull() gibt ein Array zurück, das die zurückgegebenen Nachrichtenobjekte enthält. Wenn eine Nachricht empfangen wird, durchlaufen Sie das Nachrichtenarray, geben den Nachrichteninhalt aus und verwenden die Methode $subscription->acknowledge(), um zu bestätigen, dass die Nachricht verbraucht wurde. Hinweis: Die Methode pull() blockiert, bis eine Nachricht empfangen wird oder das Timeout erreicht ist. Wenn Sie auf neue Nachrichten warten möchten, können Sie empfangene Nachrichten mit der Methode Acknowledge() bestätigen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Google Cloud Pub/Sub, um das Abonnieren und Veröffentlichen von Nachrichten in der PHP-Entwicklung zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!