Maison > Article > développement back-end > Comment utiliser Google Cloud Pub/Sub pour implémenter l'abonnement et la publication de messages dans le développement PHP
Google Cloud Pub/Sub est un service de messagerie entièrement géré qui vous permet de transférer de manière fiable des données en temps réel et asynchrones entre plusieurs applications. Il s'agit d'une solution largement utilisée qui répond à de nombreux cas d'utilisation tels que l'équilibrage de charge, l'informatique basée sur les événements, la journalisation, les notifications et les analyses, etc.
Dans le développement PHP, il est également possible d'utiliser Google Cloud Pub/Sub pour mettre en œuvre l'abonnement et la publication des messages. Cet article explique comment utiliser Google Cloud Pub/Sub pour la messagerie à partir d'une application PHP.
Avant d'utiliser Google Cloud Pub/Sub, vous devez activer l'API Google Cloud Pub/Sub sur Google Cloud Console et créer un compte de service Google Cloud Pub/Sub.
Activer l'API Google Cloud Pub/Sub :
Créez un compte de service Google Cloud Pub/Sub :
Le SDK Google Cloud Pub/Sub pour PHP est la version officielle de Google Cloud Pub/Sub Bibliothèque PHP pouvant être utilisée pour implémenter la messagerie dans les applications PHP.
Installez facilement le SDK Google Cloud Pub/Sub pour PHP à l'aide de Composer :
composer require google/cloud-pubsub
La publication de messages à l'aide de Google Cloud Pub/Sub est très simple. Le code suivant peut publier un message dans un sujet nommé "exemple-sujet" :
require_once 'vendor/autoload.php'; use GoogleCloudPubSubPubSubClient; $pubsub = new PubSubClient(); $topic = $pubsub->topic('example-topic'); $topic->publish(['data' => 'Hello, World!']);
Dans le code ci-dessus, l'autochargeur du fichier "vendor/autoload.php" est d'abord utilisé. Ensuite, instanciez un objet client PubSub à l'aide de la classe "GoogleCloudPubSubPubSubClient".
Ensuite, autorisez l'objet client Pub/Sub à l'aide des informations d'identification du compte de service créées à l'étape précédente. Une fois l'objet client autorisé, vous pouvez l'utiliser pour opérer sur vos rubriques et abonnements.
Ensuite, vous devez utiliser la méthode $pubsub->topic() pour obtenir un pointeur vers le sujet nommé "exemple-sujet". Ensuite, utilisez la méthode $topic->publish() pour publier des messages dans le sujet. La méthode
publish() accepte un paramètre de tableau, où la clé "data" est utilisée pour spécifier le contenu du message à publier.
Pour vous abonner aux messages, vous devez créer un abonnement qui se connectera à un sujet et recevra tous les messages publiés par le sujet.
Le code suivant crée un abonnement nommé "exemple-abonnement" et s'abonne à un sujet nommé "exemple-sujet" :
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); }
Dans le code ci-dessus, utilisez d'abord le chargement automatique dans le périphérique de fichier "vendor/autoload.php".
Ensuite, instanciez un objet client PubSub à l'aide de la classe "GoogleCloudPubSubPubSubClient".
Ensuite, utilisez la méthode $pubsub->topic() pour obtenir un pointeur vers le sujet nommé "exemple-sujet". Ensuite, utilisez la méthode $topic->subscription() pour obtenir un pointeur vers l’abonnement nommé « exemple-abonnement ».
Si l'abonnement n'existe pas, utilisez la méthode $subscription->create() pour créer l'abonnement.
Utilisez la méthode $subscription->pull() pour extraire les messages de l'abonnement. La méthode $subscription->pull() renverra un tableau contenant les objets de message renvoyés.
Si un message est reçu, parcourez le tableau de messages, affichez le contenu du message et utilisez la méthode $subscription->acknowledge() pour confirmer que le message a été consommé.
Remarque : La méthode pull() se bloque jusqu'à ce qu'un message soit reçu ou que le délai d'attente soit atteint. Si vous souhaitez attendre de nouveaux messages, vous pouvez utiliser la méthode accusé de réception() pour accuser réception des messages reçus.
Dans le développement PHP, il est très simple d'utiliser Google Cloud Pub/Sub pour mettre en œuvre l'abonnement et la publication de messages. Utilisez simplement la bibliothèque Google Cloud Pub/Sub SDK pour PHP et suivez les étapes ci-dessus pour intégrer Google Cloud Pub/Sub dans votre application.
De plus, Google Cloud Pub/Sub propose de nombreuses fonctions avancées, telles que l'utilisation de filtres d'abonnement pour filtrer les messages, la définition du délai d'expiration et du temps de conservation des tâches de messagerie, etc., qui peuvent être utilisées en fonction des conditions réelles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!