Points de contrôle
Create a Pub/Sub topic
/ 10
Deploy the Lab Report Service: Build
/ 15
Create a Revision for Cloud Run
/ 15
Deploy the Email Service: Build
/ 15
Create a new Revision
/ 15
Create a service account
/ 10
Create a Pub/Sub subscription
/ 10
Deploy the SMS Service
/ 10
Créer un système résilient et asynchrone à l'aide de Cloud Run et de Pub/Sub
GSP650
Présentation
Dans les ateliers du cours Serverless Cloud Run Development, vous allez découvrir un scénario métier fondé sur une entreprise fictive et aider les protagonistes à migrer vers une technologie sans serveur.
Il y a 12 ans, Lily a créé une chaîne de cliniques vétérinaires appelée Pet Theory. Au fil des ans, le nombre de cliniques a augmenté, ainsi que le besoin d'automatisation. Le processus de traitement que Pet Theory a mis en place pour les résultats des tests médicaux en provenance du laboratoire est trop lent et sujet aux erreurs ; Lily souhaite l'améliorer.
Actuellement, Patrick, l'administrateur informatique de Pet Theory, traite manuellement les résultats des tests. Chaque fois qu'il reçoit les résultats d'un test, il envoie un courrier électronique au client dont l'animal a été testé. À l'aide de son téléphone, il lui envoie ensuite les résultats du test par SMS.
Patrick travaille avec Ruby, une consultante en logiciels, pour concevoir un système plus évolutif. Ils souhaitent créer une solution qui nécessite peu de maintenance. Ils ont donc opté pour une technologie sans serveur.
Objectifs
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
- Créer un sujet et un abonnement Pub/Sub
- Créer un service Cloud Run qui reçoit des requêtes HTTP et publie des messages dans Cloud Pub/Sub
- Créer un service Cloud Run qui reçoit des messages de Cloud Pub/Sub
- Créer un abonnement Pub/Sub qui déclenche un service Cloud Run
- Tester la résilience d'un système
Prérequis
Dans cet atelier, nous considérons que vous connaissez la console Cloud et les environnements de shell. Cet atelier fait partie d'une série. Il est recommandé de suivre les ateliers précédents, mais ce n'est pas obligatoire :
- Importer des données dans une base de données Firestore
- Créer une application Web sans serveur à l'aide de Firebase
- Créer une application sans serveur qui permet de produire des fichiers PDF à l'aide de Cloud Run
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome) ;
- vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau Détails concernant l'atelier, qui contient les éléments suivants :
- Le bouton Ouvrir la console Google Cloud
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page Se connecter dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte. -
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}} Vous trouverez également le nom d'utilisateur dans le panneau Détails concernant l'atelier.
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}} Vous trouverez également le mot de passe dans le panneau Détails concernant l'atelier.
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés. -
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais gratuits.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
- Cliquez sur Activer Cloud Shell
en haut de la console Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Le résultat contient une ligne qui déclare YOUR_PROJECT_ID (VOTRE_ID_PROJET) pour cette session :
gcloud
est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
- (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
-
Cliquez sur Autoriser.
-
Vous devez à présent obtenir le résultat suivant :
Résultat :
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
Résultat :
Exemple de résultat :
gcloud
, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Définir votre région et votre zone
Certaines ressources Compute Engine sont hébergées dans des régions et des zones. Une région est un emplacement géographique spécifique où vous pouvez exécuter vos ressources. Chaque région se compose d'une ou plusieurs zones.
Exécutez les commandes gcloud suivantes dans la console Cloud pour définir la région et la zone par défaut de votre atelier :
Scénario
Pet Theory souhaite automatiser son processus de partage des résultats de tests avec les clients. Étant donné que la croissance du volume de rendez-vous devenait difficile à gérer, Lily a décidé de demander de l'aide à Ruby...
Lily, fondatrice de Pet Theory |
Bonjour Ruby, Merci d'avoir résolu le problème du portail d'assurance. Je me demandais s'il était possible de faire quelque chose concernant les résultats des tests médicaux. Nous devons trouver un moyen plus efficace de les envoyer aux clients. Lily |
Ruby, Consultante en logiciels |
Bonjour Lily, Bien sûr, je vais voir ce que je peux faire. J'ai quelques idées qui pourraient peut-être améliorer les choses. Ruby |
Tâche 1 : Architecture
Pet Theory fait appel à une entreprise externe pour réaliser les tests médicaux. Une fois que le laboratoire médical a effectué les tests,
les résultats sont envoyés via une requête POST HTTP(s) au point de terminaison Web de Pet Theory. L'illustration ci-dessous présente l'architecture générale.
Après avoir examiné le processus général, Ruby pense qu'il est possible de concevoir un système qui permettrait à Pet Theory de traiter les opérations suivantes :
- Recevoir la requête POST HTTP et envoyer un accusé de réception au laboratoire médical
- Envoyer les résultats du test par e-mail au client
- Envoyer au client un SMS et un e-mail contenant les résultats du test
Le système de Ruby permet d'isoler chacune de ces tâches et nécessite :
- Un service pour exécuter la requête et envoyer la réponse des résultats médicaux
- Un service pour envoyer les résultats des tests au client par e-mail
- Un service permettant d'envoyer un SMS au client
- Pub/Sub pour la communication interservices
- Une infrastructure sans serveur pour l'architecture de l'application
Ruby cherche à développer un code plus facile à écrire et contenant moins de bugs en s'appuyant sur des fonctions à usage unique.
Ruby, Consultante en logiciels |
Bonjour Patrick, Lily souhaite que je crée un prototype visant à faciliter le traitement des dossiers médicaux. Pour commencer, pourriez-vous configurer un sujet Pub/Sub nommé Ruby |
Patrick, Administrateur informatique |
Bonjour Ruby, C'est un projet vraiment intéressant. Je pense pouvoir terminer cela dès ce matin. Avec Google Cloud, les deux configurations sont vraiment rapides à mettre en place. Patrick |
Créer un sujet Pub/Sub
Aidez Patrick à créer un sujet Pub/Sub appelé new-lab-report
.
Lorsqu'un service publie un message Pub/Sub, ce message doit être tagué avec un sujet. Le rapport du laboratoire est consommé via le service à créer et publie un message pour chaque rapport trouvé.
Vous devez d'abord créer un sujet qui peut être utilisé pour cette tâche.
- Exécutez la commande suivante pour créer un sujet Pub/Sub :
Tout service abonné au sujet "new-lab-report" pourra consommer le message publié par le service de rapport du laboratoire. Dans le diagramme ci-dessus, vous pouvez voir deux de ces services, le service de courrier électronique et le service SMS.
- Activez ensuite Cloud Run. Ce service exécutera votre code dans le cloud :
Cliquez sur Vérifier ma progression pour valider l'objectif.
N'oubliez pas d'informer Ruby que le sujet Pub/Sub est prêt à être utilisé.
Patrick, Administrateur informatique |
Bonjour Ruby, C'est fait. Si vous avez un peu de temps, j'aimerais voir comment le prototype est mis en place. Peut-on le faire ensemble ? Patrick |
Ruby, Consultante en logiciels |
Bonjour Patrick, Super ! Merci d'avoir fait si vite. Je vais caler une heure pour qu'on travaille dessus. Ruby |
Tâche 2 : Créer le service de rapport du laboratoire
Aidez Ruby à configurer le nouveau service de rapport du laboratoire.
Ce service sera utilisé pour le prototypage. Son rôle se limite à ces deux opérations :
- Recevoir le rapport HTTPS POST du laboratoire contenant les données du rapport
- Publier un message sur Pub/Sub
Ajouter du code pour le service de rapport du laboratoire
- Repassez à Cloud Shell et clonez le dépôt nécessaire pour cet atelier :
- Accédez au répertoire
lab-service
:
- Installez les packages suivants, qui seront nécessaires pour réceptionner les requêtes HTTPS entrantes et assurer la publication dans Pub/Sub :
Ces commandes mettent à jour le fichier package.json
pour indiquer les dépendances nécessaires à ce service.
Vous allez maintenant modifier le fichier package.json
pour indiquer à Cloud Run comment lancer votre code.
-
Ouvrez le fichier
package.json
. -
Dans la section "scripts" du fichier
package.json
, ajoutez la ligne de code"start": "node index.js",
sur la ligne 7 (comme indiqué ci-dessous), puis enregistrez le fichier :
"start": "node index.js",
Si vous ne respectez pas cette consigne, vous rencontrerez des erreurs au cours du déploiement.
- Créez un fichier nommé
index.js
et ajoutez-y le code suivant :
const labReport = req.body;
await publishPubSubMessage(labReport);
Plus précisément, elles déclenchent les deux actions suivantes :
- Extraction du rapport du laboratoire de la requête POST
- Publication d'un message PubSub contenant le rapport récent du laboratoire
- Créez maintenant un fichier nommé
Dockerfile
et ajoutez-y le code ci-dessous :
Ce fichier décrit comment créer un package du service Cloud Run dans un conteneur.
Déployer le service de rapport du laboratoire
- Créez un fichier nommé
deploy.sh
et collez-y les commandes suivantes :
- Dans Cloud Shell, exécutez la commande suivante pour rendre ce fichier exécutable :
- Il est temps de déployer le service de rapport du laboratoire. Exécutez le script de déploiement :
Un message d'erreur, imputable à un problème de synchronisation, peut vous être renvoyé la première fois que vous exécutez cette commande. Dans ce cas, il suffit d'exécuter à nouveau le script deploy.sh
.
Une fois le déploiement terminé, un message semblable à celui-ci s'affiche :
Bravo ! Le service de rapport du laboratoire a bien été déployé et va consommer les résultats du laboratoire médical via HTTP. Vous pouvez maintenant vérifier si le nouveau service est opérationnel.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Tester le service de rapport du laboratoire
Pour valider le service de rapport de laboratoire, simulez trois requêtes HTTPS POST effectuées par le laboratoire médical, chacune contenant un rapport de laboratoire. À des fins de tests, les rapports de laboratoire créés ne contiendront qu'un ID.
- Tout d'abord, placez l'URL du rapport dans une variable d'environnement pour simplifier son utilisation.
- Vérifiez que l'URL LAB_REPORT_SERVICE_URL a bien été collectée :
- Créez un fichier nommé
post-reports.sh
et ajoutez-y le code ci-dessous :
Le script ci-dessus utilise la commande curl
pour publier trois identifiants distincts dans l'URL du service du laboratoire. Chaque commande sera exécutée individuellement en arrière-plan.
- Rendez le script
post-reports.sh
exécutable :
- Testez maintenant le point de terminaison du service de rapport du laboratoire en publiant sur ce service trois rapports de laboratoire à l'aide du script décrit ci-dessus :
Ce script a publié trois rapports de laboratoire sur le service de rapport du laboratoire. Consultez les journaux pour voir les résultats.
-
Dans la console Cloud, cliquez sur le menu de navigation (
) puis sur Cloud Run.
-
Vous devriez maintenant voir le service de rapport du laboratoire nouvellement déployé dans la liste Services. Cliquez dessus.
-
La page suivante affiche des détails sur le service de rapport du laboratoire. Cliquez sur l'onglet Journaux.
Sur la page "Journaux" se trouvent les résultats concernant les trois rapports de test que vous venez de poster à l'aide du script. Normalement, les codes HTTP renvoyés sont 204, ce qui signifie OK - pas de contenu, comme indiqué ci-dessous. Si vous ne voyez pas d'entrée, essayez de faire défiler la page à l'aide de la barre de défilement située à droite. Cela permet d'actualiser le journal.
La prochaine tâche consiste à écrire les services de SMS et de courrier électronique. Ces services sont déclenchés lorsque le service de rapport du laboratoire publie un message Pub/Sub sur le sujet "new-lab-report".
Tâche 3 : Le service de courrier électronique
Aidez Ruby à mettre en place le nouveau service de courrier électronique.
Ajouter du code pour le service de courrier électronique
- Accédez au répertoire du service de courrier électronique :
- Installez ces packages pour que le code soit en mesure de gérer les requêtes HTTPS entrantes :
La commande ci-dessus mettra à jour le fichier package.json
, lequel décrit l'application et ses dépendances. Cloud Run doit savoir comment exécuter le code. Ajoutez donc une instruction de démarrage
pour qu'il sache quoi faire.
-
Ouvrez le fichier
package.json
. -
Dans la section "scripts", ajoutez la ligne
"start": "node index.js",
comme indiqué ci-dessous et enregistrez le fichier :
"start": "node index.js",
Si vous ne respectez pas cette consigne, vous rencontrerez des erreurs au cours du déploiement.
- Créez un fichier appelé
index.js
et ajoutez-y ce qui suit :
Ce code s'exécute lorsque Pub/Sub publie un message sur le service. Voici comment il procède :
- Il décode le message Pub/Sub et essaie ensuite d'appeler la fonction
sendEmail()
. - Si l'opération réussit et qu'aucune exception n'est levée, il renvoie le code d'état 204 pour que Pub/Sub sache que le message a été traité.
- S'il y a une exception, le service renvoie le code d'état 500 pour que Pub/Sub sache que le message n'a pas été traité et qu'il doit le renvoyer ultérieurement au service.
Une fois que la communication entre les services fonctionne, Ruby ajoute un code à la fonction sendEmail()
pour envoyer effectivement l'e-mail.
- Créez maintenant un fichier nommé
Dockerfile
et ajoutez-y le code ci-dessous :
Ce fichier décrit comment créer un package du service Cloud Run dans un conteneur.
Déployer le service de courrier électronique
- Créez un fichier appelé
deploy.sh
et ajoutez-y le contenu suivant :
- Rendez le fichier
deploy.sh
exécutable :
- Déployez le service de courrier électronique :
Lorsque le déploiement est terminé, un message semblable à celui-ci s'affiche :
Le service a bien été déployé. Vous devez maintenant vous assurer que le service de courrier électronique est déclenché lorsqu'un message Pub/Sub est disponible.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Configurer Pub/Sub pour déclencher le service de courrier électronique
Chaque fois qu'un nouveau message Pub/Sub est publié en utilisant la rubrique "new-lab-report", il doit déclencher le service de courrier électronique. Pour réaliser cette tâche, vous allez configurer un compte de service qui traitera automatiquement les requêtes associées à ce service.
- Créez un compte de service destiné à déclencher les services répondant aux messages Pub/Sub :
Cliquez sur Vérifier ma progression pour valider l'objectif.
- Accordez au compte de service que vous venez de créer l'autorisation d'appeler le service de courrier électronique :
Ensuite, indiquez à Pub/Sub qu'il doit appeler le service SMS lorsqu'un message de type "new-lab-report" (nouveau rapport de laboratoire) est publié.
- Placez le numéro du projet dans une variable d'environnement pour en faciliter l'accès :
Ensuite, vous devez autoriser le projet à créer des jetons d'authentification Pub/Sub.
- Exécutez le code ci-dessous :
- Mettez l'URL du service de courrier électronique dans une autre variable d'environnement :
- Vérifiez que l'URL EMAIL_SERVICE_URL a bien été collectée :
- Créez un abonnement Pub/Sub pour le service de courrier électronique :
Bravo ! Le service est maintenant configuré pour répondre aux messages Cloud Pub/Sub. L'étape suivante consiste à valider le code pour confirmer qu'il répond aux exigences.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Tester ensemble le service de rapport du laboratoire et le service de courrier électronique
- À l'aide du script créé précédemment, publiez à nouveau les rapports du laboratoire :
-
Ouvrez ensuite le journal (Menu de navigation > Cloud Run). Vous pouvez voir les deux services Cloud Run (email-service et lab-report-service) dans votre compte.
-
Cliquez sur email-service, puis sur Journaux.
Vous devez voir le résultat du déclenchement de ce service par Pub/Sub. Si vous ne voyez pas les messages que vous attendez, faites défiler le journal à l'aide de la barre de défilement pour forcer son actualisation.
Bravo ! Le service de messagerie électronique est désormais en mesure d'écrire des informations dans le journal chaque fois qu'un message est traité à partir de la file d'attente des sujets Cloud Pub/Sub. La dernière tâche consiste à créer le service SMS.
Tâche 4 : Le service SMS
Aidez Ruby à mettre en place le nouveau service SMS.
Ajouter du code pour le service SMS
- Créez un répertoire pour le service SMS :
- Installez les packages nécessaires pour la réception des requêtes HTTPS entrantes :
-
Ouvrez le fichier
package.json
. -
Dans la section "scripts", ajoutez la ligne
"start": "node index.js",
comme indiqué ci-dessous et enregistrez le fichier :
"start": "node index.js",
Si vous ne respectez pas cette consigne, vous rencontrerez des erreurs au cours du déploiement.
- Créez un fichier appelé
index.js
et ajoutez-y ce qui suit :
- Créez maintenant un fichier nommé
Dockerfile
et ajoutez-y le code ci-dessous :
Ce fichier décrit comment créer un package du service Cloud Run dans un conteneur. Maintenant que le code a été créé, l'étape suivante consiste à déployer le service.
Déployer le service SMS
- Créez un fichier nommé
deploy.sh
et ajoutez-y le code suivant :
- Rendez le fichier
deploy.sh
exécutable :
- Déployez le service SMS :
Une fois le déploiement terminé, un message semblable à celui-ci s'affiche :
Le service SMS a bien été déployé, mais il n'est pas lié au service Cloud Pub/Sub. Corrigez cela dans la section suivante.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Configurer Cloud Pub/Sub pour déclencher le service SMS
Comme pour le service de courrier électronique, le lien entre Cloud Pub/Sub et le service SMS doit être configuré pour que les messages puissent être consommés.
- Définissez les autorisations nécessaires pour permettre à Pub/Sub de déclencher le service SMS :
Ensuite, indiquez à Pub/Sub qu'il doit appeler le service SMS lorsqu'un message de type "new-lab-report" (nouveau rapport de laboratoire) est publié.
- La première étape consiste à placer l'URL du service SMS dans une variable d'environnement :
-
Vérifiez que l'URL SMS_SERVICE_URL a bien été collectée :
echo $SMS_SERVICE_URL -
Créez ensuite l'abonnement Pub/Sub :
- Exécutez à nouveau le script de test pour publier trois rapports sur le service de rapport du laboratoire :
-
Ouvrez ensuite le journal (Menu de navigation > Cloud Run). Les trois services Cloud Run (email-service, lab-report-service et sms-service) sont affichés dans votre compte.
-
Cliquez sur sms-service, puis sur Journaux. Vous verrez le résultat de ce service déclenché par Pub/Sub.
Le prototype du système a été créé et testé avec succès. Toutefois, Patrick est préoccupé par le fait que la résilience n'a pas été testée dans le cadre du processus de validation initial.
Tâche 5 : Tester la résilience du système
Que se passe-t-il si l'un des services est défectueux ? Patrick a déjà été confronté à cette situation courante.
Aidez Ruby à étudier comment faire pour que le système puisse gérer ce scénario. Elle veut tester ce qui se passe lorsqu'un service est défectueux, en déployant une mauvaise version du service de courrier électronique.
- Revenez au répertoire
email-service
:
Ajoutez du texte non valide dans l'application du service de courrier électronique pour provoquer une erreur.
- Modifiez le fichier
index.js
et ajoutez la lignethrow
à la fonctionsendEmail()
, comme indiqué ci-dessous. Une exception est alors renvoyée, comme si le serveur de messagerie était en panne :
L'ajout de ce code permet de faire planter le service lorsqu'il est appelé.
- Déployez cette version défaillante du service de courrier électronique :
- Une fois le déploiement du service de courrier électronique terminé, publiez à nouveau les données dans les rapports du laboratoire, puis examinez de près l'état du journal email-service :
-
Ouvrez les journaux du service de courrier électronique pour afficher les journaux du service défaillant : menu de navigation > Cloud Run.
-
Lorsque vous voyez les trois services "Cloud Run" dans votre compte, cliquez sur email-service.
Le service de courrier électronique est appelé, mais il continue à planter. Si vous remontez dans les journaux, vous découvrirez la cause : "Email server is down" (Le serveur de messagerie est en panne). Vous verrez également que le service renvoie le code d'état 500, et que Pub/Sub continue à tenter d'appeler le service.
Si vous vérifiez les journaux du service SMS, vous verrez qu'il fonctionne correctement.
Corrigez maintenant l'erreur dans le service de courrier électronique pour restaurer l'application.
- Ouvrez le fichier
index.js
et supprimez la ligne de renvoi de l'exception que vous avez saisie précédemment, puis enregistrez le fichier.
La fonction sendEmail
de votre fichier index.js
ressemble maintenant à ceci :
- Déployez la version corrigée du service de courrier électronique :
- Une fois le déploiement terminé, cliquez sur l'icône d'actualisation dans l'angle supérieur droit.
Vous verrez que les e-mails des rapports 12, 34 et 56 ont finalement été envoyés, le service de courrier électronique a renvoyé le code d'état 204, et Pub/Sub a cessé d'appeler le service. Aucune donnée n'a été perdue ; Pub/Sub a refait des tentatives jusqu'à ce que ça marche. C'est la base d'un système robuste !
Enseignements
- Si les services communiquent entre eux de manière asynchrone via Pub/Sub au lieu de s'appeler directement, le système peut être plus résilient.
- Grâce à Pub/Sub, le déclenchement du service de rapport du laboratoire est indépendant des autres services. Par exemple, si les clients souhaitent également recevoir les résultats du laboratoire via un autre service de messagerie, il est possible de l'ajouter sans avoir à mettre à jour le service de rapport du laboratoire.
- Cloud Pub/Sub a géré les tentatives, les services n'ont pas eu à le faire. Les services sont uniquement tenus de renvoyer un code d'état : succès ou échec.
- Dans le cas où un service s'interrompt, le système est capable de se "réparer" automatiquement lorsque le service est remis en ligne, par le biais de nouvelles tentatives effectuées par Pub/Sub.
Félicitations !
Grâce à votre aide, Ruby a réussi à créer un prototype de système résilient. Le service est capable d'envoyer automatiquement à chaque client un e-mail et un SMS. En cas d'interruption temporaire de certains services, le système met en place un mécanisme de répétition de tentatives afin qu'aucune donnée ne soit perdue. Ruby reçoit des félicitations bien méritées...
Lily, fondatrice de Pet Theory |
Bonjour Ruby, Aucun mot ne peut exprimer ma gratitude pour votre travail et votre professionnalisme. En peu de temps, nos systèmes de base ont été totalement remaniés. Nous organisons une petite réception vendredi pour fêter cela et nous espérons que vous serez des nôtres ! Lily |
|
Bonjour Ruby, J'ai reçu des éloges de la part de Pet Theory pour votre travail. Vous avez beaucoup apporté à l'équipe. Maintenant que cette mission est terminée, j'aimerais vous parler d'un rôle plus important que vous pourriez avoir dans un nouveau projet. Melody Directrice générale Computer Consulting Inc. |
Étapes suivantes et informations supplémentaires
- Article de Medium : Cloud Run as an internal async worker
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 1er février 2024
Dernier test de l'atelier : 20 septembre 2023
Copyright 2024 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.