DEV Community

Cover image for Google Pub Sub: Guide Complet de Messagerie Cloud
Antoine Laurent
Antoine Laurent

Posted on • Originally published at apidog.com

Google Pub Sub: Guide Complet de Messagerie Cloud

Google Pub Sub, officiellement connu sous le nom de Google Cloud Pub/Sub, est un service de messagerie en temps réel entièrement géré, conçu pour permettre une communication asynchrone entre applications et services indépendants. Au cœur de son fonctionnement, Google Pub Sub facilite le découplage des systèmes en fournissant un modèle de publication-abonnement fiable, évolutif et global pour les architectures événementielles. Cela en fait un élément fondamental essentiel pour les applications modernes basées sur le cloud, supportant à la fois l'ingestion et la distribution d'événements à très grande échelle.

Essayez Apidog dès aujourd'hui

Que vous architecturiez des microservices, construisiez des pipelines d'analyse ou intégriez des systèmes distribués, comprendre Google Pub Sub est crucial pour toute personne impliquée dans le développement cloud-native.

Comment fonctionne Google Pub Sub : concepts clés et architecture

Google Pub Sub repose sur le paradigme publication-abonnement (pub/sub). Un éditeur publie des messages sur un sujet, et des abonnés reçoivent ces messages de façon asynchrone. Pour implémenter ce système dans vos applications, il est essentiel de bien comprendre les composants suivants :

Composants principaux de Google Pub Sub

  • Sujets (Topics) : Ressources où les éditeurs envoient leurs messages.
  • Abonnements (Subscriptions) : Flux de messages issus d’un sujet, livrés aux abonnés.
  • Éditeurs (Publishers) : Applications publiant des messages sur un sujet.
  • Abonnés (Subscribers) : Services qui reçoivent les messages d’un abonnement.

Flux de messages

  1. L’éditeur publie un message sur un sujet.
  2. Un ou plusieurs abonnements sont liés à ce sujet.
  3. Les abonnés extraient (pull) ou reçoivent (push) les messages.
  4. Les abonnés acquittent les messages pour garantir leur livraison (at-least-once).

Google Pub Sub prend en charge deux modes de livraison :

  • Extraction (Pull) : L’abonné extrait explicitement les messages.
  • Envoi (Push) : Pub/Sub pousse les messages vers un endpoint HTTP configuré.

Fiabilité et évolutivité

Google Pub Sub assure une livraison au moins une fois, stocke les messages de manière redondante, et s’adapte automatiquement à des volumes massifs (plusieurs millions de messages/seconde).

Fonctionnalités clés qui distinguent Google Pub Sub

1. Entièrement géré et sans serveur

Aucune gestion de serveur ou de cluster : Pub/Sub gère la scalabilité, la disponibilité et la durabilité sans intervention manuelle.

2. Disponibilité mondiale

Fonctionne sur plusieurs régions, idéal pour les applications globales et la reprise après sinistre.

3. Modes de livraison flexibles

Support natif des modes push et pull, permettant une intégration adaptée à votre stack technique.

4. Sécurité et conformité

Chiffrement des données en transit et au repos. Contrôle d’accès avec IAM pour sécuriser les sujets et abonnements.

5. Livraison ordonnée et traitement exactly-once

Ordonnancement optionnel par clé et intégration avec Dataflow pour les scénarios de traitement exactly-once avancés.

Configuration de Google Pub Sub : guide étape par étape

Vous trouverez ci-dessous les commandes essentielles pour démarrer rapidement avec Google Pub Sub dans un projet cloud.

1. Créer un Sujet

gcloud pubsub topics create my-topic
Enter fullscreen mode Exit fullscreen mode

2. Créer un Abonnement

gcloud pubsub subscriptions create my-subscription --topic=my-topic
Enter fullscreen mode Exit fullscreen mode

3. Publier un Message

gcloud pubsub topics publish my-topic --message="Hello, world!"
Enter fullscreen mode Exit fullscreen mode

4. Extraire des Messages

gcloud pubsub subscriptions pull my-subscription --auto-ack
Enter fullscreen mode Exit fullscreen mode

Pour une intégration directe dans vos applications, utilisez les bibliothèques clientes Google Cloud Pub/Sub (Java, Python, Node.js, etc.).

Exemple Python : Publier et recevoir des messages

from google.cloud import pubsub_v1

publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path('your-project-id', 'my-topic')
publisher.publish(topic_path, b'Hello, Pub/Sub!')

subscriber = pubsub_v1.SubscriberClient()
subscription_path = subscriber.subscription_path('your-project-id', 'my-subscription')

def callback(message):
    print(f"Reçu : {message.data}")
    message.ack()

subscriber.subscribe(subscription_path, callback=callback)
Enter fullscreen mode Exit fullscreen mode

Cas d'utilisation réels de Google Pub Sub

1. Microservices événementiels

Facilitez la communication asynchrone entre microservices. Pub/Sub réduit le couplage et augmente la scalabilité.

2. Ingestion de données d’analyse et de logs

Alimentez BigQuery, Dataflow et autres outils analytiques en streaming de logs et d’événements via Pub/Sub.

3. Flux de données IoT

Collectez et traitez en temps réel les données de milliers d’appareils IoT publiant sur des sujets Pub/Sub.

4. Notifications en temps réel

Mettez à jour des tableaux de bord, envoyez des notifications ou déclenchez des workflows instantanément en réponse à des événements.

5. Orchestration de workflows

Orchestrez des processus distribués sans dépendances strictes grâce à la publication d’événements et la coordination via Pub/Sub.

Intégration de Google Pub Sub au développement piloté par API

Pour concevoir des API robustes interagissant avec Google Pub Sub, des outils comme Apidog sont essentiels. Apidog permet de :

  • Concevoir et documenter des API publiant ou s’abonnant à des sujets Pub/Sub.
  • Simuler des endpoints Pub/Sub pour tester les flux de messages en local.
  • Tester les endpoints HTTP push recevant des messages Pub/Sub.

Intégrez Apidog dans votre workflow pour concevoir, simuler, et tester des API interagissant avec Google Pub Sub, accélérant ainsi le développement et la mise en production.

Bonnes pratiques pour l'utilisation de Google Pub Sub

1. Charges utiles structurées

Utilisez des formats structurés (JSON, Protobuf) pour les messages afin d’assurer l’interopérabilité et faciliter l’analyse.

2. Abonnés idempotents

Concevez vos abonnés pour tolérer les doublons (at-least-once delivery).

3. Surveillance et alertes

Configurez Google Cloud Monitoring pour surveiller le backlog, la latence, et les erreurs.

4. Contrôle d'accès

Utilisez IAM pour limiter les permissions de publication/abonnement au strict nécessaire.

5. Développement API-First

Définissez vos schémas d’API et de messages dès le départ. Apidog facilite la documentation et le partage de ces définitions.

Fonctionnalités avancées : Ordonnancement, Filtrage et Sujets de lettres mortes

Ordonnancement des messages

Activez l’ordonnancement par clé pour garantir la livraison ordonnée des messages partageant la même clé (ex : transactions).

Filtrage des messages

Définissez des filtres sur les abonnements pour n’acheminer que les messages pertinents vers chaque abonné.

Sujets de lettres mortes

Utilisez les dead letter topics pour isoler et inspecter les messages non livrables.

Tarification et limites de Google Pub Sub

La tarification dépend du volume de données ingérées/livrées, avec un quota gratuit (jusqu’à 10 Go/mois). Les messages peuvent atteindre 10 Mo. Consultez la page de tarification officielle pour les détails actualisés.

Exemple pratique : Construire un pipeline d’analyse en temps réel avec Google Pub Sub

Exemple de workflow pour l’analyse web :

  1. Frontend : Publie des événements de vue de page (JSON) sur le topic pageviews.
  2. Pub/Sub : Transmet les événements à l’abonnement analytics-service.
  3. Backend : Extrait, traite et stocke les données dans BigQuery.
  4. Dashboard : Interroge BigQuery pour des métriques en temps réel.

Avec Apidog, concevez, documentez et simulez les endpoints API pour publier et consommer ces messages, facilitant les tests d’intégration frontend/backend.

Conclusion : Maîtriser Google Pub Sub pour les applications Cloud modernes

Google Pub Sub est une base incontournable pour des architectures cloud événementielles, scalables et robustes. Sa gestion entièrement automatisée et son intégration facile avec les outils cloud accélèrent la livraison de solutions innovantes.

Combinez Google Pub Sub avec des outils comme Apidog pour documenter, simuler et tester vos API, garantissant la fiabilité et la maintenabilité de vos applications pilotées par les messages.

Top comments (0)