Google Cloud – PUB/SUB : partie 1

Plateforme Google Cloud (GCP), proposé par Google, propose un large éventail de solutions de cloud computing. Il comprend des services modulaires couvrant l’informatique, le stockage de données, l’analyse et l’apprentissage automatique, pris en charge par une suite d’outils de gestion. GCP se distingue comme l’un des principaux fournisseurs de cloud public, offrant une gamme flexible de services informatiques allant de la gestion des données à la diffusion Web et vidéo, améliorés par des fonctionnalités avancées d’IA et d’apprentissage automatique. Ses offres englobent l’informatique, le stockage, la mise en réseau, la gestion du Big Data, l’apprentissage automatique et l’IoT, complétées par une solide gestion du cloud, des capacités de sécurité et une assistance aux développeurs.
Comprenons Google Pub/Sub
Google Cloud Pub/Sub est une plate-forme de messagerie fiable qui permet une communication sécurisée et évolutive entre les applications en séparant les expéditeurs et les destinataires. Il est essentiel pour l’analyse en continu, les pipelines de données et l’intégration de services, ainsi que pour la prise en charge du streaming d’événements asynchrones pour une distribution efficace des données et une parallélisation des tâches.
Google Cloud Pub/Sub est un service de messagerie en temps réel entièrement géré qui permet aux utilisateurs d’envoyer et de recevoir des messages entre des applications indépendantes.
Les bases de Google Cloud Pub/Sub
1. Concepts clés
- Sujet: Une ressource nommée à laquelle les messages sont envoyés par les éditeurs.
- Abonnement: Représente le flux de messages d’un sujet vers une application d’abonné.
- Message: Un éditeur envoie d’abord des données à un sujet, puis les transmet aux abonnés.
- Éditeur: Une application qui crée des messages pour des sujets.
- Abonné: Une application qui reçoit des messages de sujets via des abonnements.
2. Caractéristiques et capacités
- Évolutivité : Pub/Sub peut gérer en temps réel l’ingestion et la diffusion de gros volumes de données.
- Durabilité: Les messages persistent et sont conservés jusqu’à ce qu’ils soient reconnus par les abonnés.
- Fiabilité: Fournit au moins une garantie de livraison de message.
- Mondial: Les sujets et abonnements Pub/Sub peuvent être internationaux, permettant ainsi des systèmes distribués.
3. Cas d’utilisation
- Analyses en temps réel : Données en streaming à des fins d’analyse, de surveillance et d’alerte.
- Architectures événementielles : Construire des systèmes événementiels pour les services découplés.
- Ingestion de données : Collecte et traitement des données des appareils IoT, des journaux, etc.
- Intégration: Intégrer des systèmes et des services de manière faiblement couplée.
4. Flux de travail
- Éditeurs envoyer des messages à sujets.
- Abonnés créer abonnements aux sujets pour recevoir des messages.
- Messages sont livrés de manière asynchrone et peuvent être reconnus par les abonnés.
- Prend en charge les modes de livraison push et pull pour les abonnements.
5. Intégration et API
- Fournit des bibliothèques clientes et des API REST pour intégrer divers langages et plates-formes de programmation.
- Intégration avec d’autres services Google Cloud tels que Cloud Functions, Dataflow, BigQuery, etc.
6. Tarifs
- Les tarifs sont basés sur le volume de données échangées et les opérations effectuées.
- Offre un niveau gratuit avec une certaine quantité de données et d’opérations incluses.
7. Sécurité
- Prend en charge les rôles et autorisations IAM pour le contrôle d’accès.
- Il prend également en charge le chiffrement des données en transit et au repos.
8. Surveillance et journalisation
- Fournit des fonctionnalités de surveillance et d’alerte via Stackdriver Monitoring.
- Les journaux sont disponibles via Stackdriver Logging à des fins de débogage et d’audit.
Google Cloud Pub/Sub est conçu pour être hautement disponible, évolutif et fiable, ce qui le rend adapté à la création d’applications cloud natives modernes qui nécessitent des fonctionnalités de messagerie en temps réel.
Architecture requête-réponse et architecture Pub-Sub
Architecture requête-réponse
Le modèle typique pour les ordinateurs communiquant sur un réseau est demande-réponse. Dans le modèle demande-réponse, un ordinateur ou un logiciel client demande des données ou des services, et un ordinateur ou un logiciel serveur répond en fournissant les données ou le service.
- Dans ce modèle, un client initie la communication en demandant des données ou des services à un serveur.
- Le client envoie une demande et le serveur répond avec les données ou le service demandé.
- Ce modèle s’apparente à un client qui envoie un camion vide pour que le serveur le remplisse de données, qui renvoie ensuite le camion et le charge.
- Les exemples incluent l’impression d’un document, où le client (par exemple, un tableur) demande des services d’impression au serveur (serveur d’impression), qui traite et termine ensuite le travail d’impression.
Architecture de publication-abonnement
- Dans l’architecture pub-sub, une entité centrale appelée courtier (ou serveur) gère la distribution des données.
- Les clients peuvent soit publier des données sur le courtier, soit s’abonner pour en recevoir des données, soit effectuer les deux actions.
- Les éditeurs envoient les données au courtier uniquement lorsqu’elles changent (rapport par exception), tandis que les abonnés reçoivent automatiquement les données du courtier, mais uniquement lorsqu’elles changent.
- Le courtier est un facilitateur, acheminant les données des éditeurs vers les abonnés sans les stocker.
- Par analogie, les éditeurs envoient des camions de données complets au courtier, qui les achemine ensuite intacts vers les clients abonnés, en les clonant si nécessaire.
- Par exemple, dans le diagramme, les clients de gauche publient les données consommées par les clients de droite, et vice versa.
Cycle de vie d’un message dans Pub/Sub
Dans Google Cloud Pub/Sub, le cycle de vie d’un message comporte généralement plusieurs étapes, de la publication à la consommation et à l’accusé de réception.
Supposons qu’un seul client éditeur soit connecté à une rubrique et qu’un seul abonnement soit associé à la rubrique. Ainsi, un seul abonné est également connecté à l’abonnement.
Voici le processus détaillant la manière dont un message transite via Google Cloud Pub/Sub :
- Une application d’éditeur envoie un message à un sujet Pub/Sub spécifié.
- Le message est stocké de manière persistante pour des raisons de fiabilité et de tolérance aux pannes.
- En même temps, Pub/Sub transmet le message à tous les abonnements abonnés associés au sujet. Dans ce cas, il n’y a qu’un seul abonnement.
- L’abonnement transmet le message à la ou aux applications d’abonné connectées.
- Lors du traitement du message, l’abonné envoie un accusé de réception à Pub/Sub, confirmant la réussite du traitement.
- Après avoir reçu avec succès les accusés de réception d’au moins un abonné pour chaque abonnement, Pub/Sub supprime automatiquement le message du stockage, garantissant ainsi une gestion et un nettoyage efficaces des messages.
Google Cloud Pub/Sub est un service de messagerie entièrement géré sur Google Cloud Platform, permettant une communication asynchrone entre les applications en temps réel. Il utilise des sujets pour catégoriser les messages et les abonnements afin de les diffuser de manière fiable à grande échelle. Pub/Sub prend en charge les méthodes de livraison push et pull, s’intègre parfaitement aux autres services Google Cloud et garantit la sécurité des données grâce au chiffrement. Il est idéal pour les applications nécessitant une messagerie évolutive et fiable pour des cas d’utilisation tels que l’analyse en temps réel, le traitement des données IoT et les architectures basées sur les événements, offrant des capacités robustes de surveillance et de journalisation pour une visibilité opérationnelle.
Si vous souhaitez en savoir plus, Google Cloud propose une documentation complète et des tutoriels sur Google. Cloud Pub/Sub.
Source link