Eventarc vous permet de créer des architectures basées sur des événements et des messages, sans avoir à implémenter, à personnaliser ni à gérer l'infrastructure sous-jacente.
Eventarc est disponible en deux éditions : Eventarc Advanced et Eventarc Standard. Les deux éditions offrent une solution d'événements évolutive, sans serveur et entièrement gérée qui vous permet d'acheminer de manière asynchrone des événements de sources vers des cibles. Pour en savoir plus, consultez Choisir Eventarc Advanced ou Eventarc Standard.
Eventarc Advanced est conçu pour simplifier l'ingestion, l'orchestration et la diffusion des données d'événements via des messages entre des applications, des services et des points de terminaison. Eventarc Advanced vous permet de collecter les événements qui se produisent dans un système et de les publier dans un bus central. Les services intéressés peuvent s'abonner à des messages spécifiques en créant des enregistrements. Vous pouvez utiliser le bus et un pipeline pour acheminer des événements provenant de plusieurs sources en temps réel, les publier vers plusieurs destinations et, éventuellement, les transformer avant de les diffuser vers une cible.
Eventarc Advanced est idéal pour les organisations ayant des besoins complexes en termes d'événements et de messages, en particulier celles qui doivent gérer de nombreux sujets Pub/Sub, des files d'attente Kafka ou d'autres systèmes de messagerie tiers. En offrant aux administrateurs une visibilité et un contrôle améliorés et centralisés, Eventarc Advanced permet aux organisations de connecter plusieurs équipes dans différents projets.
Vous pouvez gérer Eventarc Advanced à l'aide de la Google Cloud console, de la ligne de commande avec Google Cloud CLI ou de l'API Eventarc.
entre différents services, applications et systèmes (cliquez sur le schéma pour l'agrandir).
Concepts clés
Un bus fournit un point de terminaison visible pour les événements. Il s'agit d'un routeur qui reçoit tous les événements publiés par les fournisseurs et les diffuse vers zéro ou plusieurs destinations. Un bus vous permet de centraliser, de surveiller et de suivre le flux de messages dans votre système. Vous pouvez utiliser un bus pour acheminer des événements de nombreuses sources vers de nombreuses cibles.
Les messages qui arrivent dans un bus sont évalués en fonction des critères d'un enregistrement , qui représente un abonnement aux événements collectés par un bus particulier. Les événements sont acheminés vers les consommateurs qui se sont abonnés à ces événements spécifiques. L'enregistrement vous permet d'utiliser le CEL (Common Expression Language) pour définir des règles de contrôle des accès précises en faisant correspondre les événements en fonction de leurs attributs. Un enregistrement vous permet également de spécifier le pipeline vers lequel les événements correspondants doivent être diffusés.
Le pipeline est l'intermédiaire de distribution entre un bus et une destination. Le pipeline spécifie une destination cible et offre également la possibilité de transformer les événements correspondants avant de les diffuser vers la destination. Il vous permet de gérer différentes structures d'événements en acceptant plusieurs formats de charge utile et en vous permettant d'adapter les données d'événements à la volée sans modifier vos services source ou cible.
Capacités clés
Eventarc Advanced est compatible avec de nombreux cas d'utilisation des applications de destination. Voici quelques-unes des principales fonctionnalités :
Intégration d'applications à grande échelle : vous pouvez connecter de nombreux services et applications, ce qui permet une communication asynchrone entre différents formats et schémas d'événements.
Streaming d'événements pour l'IA et l'analyse : vous pouvez gérer l'afflux de données provenant d'appareils IoT et de charges de travail d'IA, en filtrant, en transformant et en enrichissant les événements avant de les transmettre à vos pipelines d'analyse.
Déploiements hybrides et multicloud : vous pouvez étendre vos architectures basées sur des événements au-delà Google Cloudde l'intégration avec des systèmes sur site et d'autres fournisseurs cloud. Eventarc Advanced vous permet d'acheminer des événements provenant de diverses sources, y compris des sources Google et des éditeurs directs d'événements.
Comprendre la régionalité
Eventarc Advanced est un service entièrement régional : tout le trafic et toutes les données d'Eventarc Advanced doivent résider dans la même région. Par exemple, les enregistrements et les pipelines ne peuvent lire et traiter que les données de la même région que le bus. La prise en charge interrégionale peut être obtenue en publiant des événements dans différents bus de différentes régions et en configurant un réseau dans un périmètre de service qui s'étend sur plusieurs régions.
Mises en page de projet
Toutes les ressources Eventarc doivent appartenir à un Google Cloud projet. Toutefois, le fournisseur (source d'événements), le bus (administrateur) et le pipeline (cible d'événements) ne doivent pas nécessairement se trouver dans le même projet. Vous pouvez également collecter et publier des événements provenant de sources Google dans plusieurs projets. Pour en savoir plus, consultez Publier des événements à partir de plusieurs projets.
Vous pouvez utiliser une combinaison d' autorisations IAM (Identity and Access Management) pour contrôler l'utilisation des ressources, un accès précis aux données à l'aide de règles d'accès et du CEL, ainsi que des périmètres de service pour répondre aux exigences de mise en réseau et de sécurité pour différents besoins d'entrée et de sortie.
Événements
Un événement est un enregistrement de données qui exprime une occurrence et son contexte, et indique une modification dans une ressource ou un environnement. Un événement correspond à une unité discrète de communication, indépendante des autres événements. Par exemple, il peut s'agir d'une modification apportée aux données d'une base de données, de l'ajout d'un fichier à un système de stockage ou d'une tâche planifiée.
Notez qu'un événement est également un message émis par un composant lorsque son état a changé. Lorsqu'un événement se produit, le message est envoyé à l'infrastructure d'événements où les consommateurs peuvent le récupérer. Dans le contexte d'une architecture basée sur des événements, nous utilisons souvent le terme événement pour désigner le message qui communique l'événement plutôt que l'occurrence elle-même (ce qui s'est réellement passé pour générer le message).
Types d'événement
Eventarc Advanced accepte les événements provenant directement d'une source Google.
Pour en savoir plus, consultez Types d'événements Google compatibles avec Eventarc.
Fournisseurs et destinations d'événements
Les événements sont collectés auprès des fournisseurs d'événements par Eventarc Advanced et acheminés vers une destination d'événement. Chaque pipeline Eventarc Advanced ne peut spécifier qu'une seule destination comme cible pour les messages acheminés.
Les fournisseurs compatibles incluent les fournisseurs Google et les éditeurs directs d'événements. Les destinations compatibles incluent Cloud Run, les fonctions Cloud Run, les points de terminaison HTTP hébergés dans un réseau de cloud privé virtuel (VPC), un sujet Pub/Sub, Workflows et un autre bus Eventarc Advanced.
Pour en savoir plus, consultez Fournisseurs et destinations d'événements.
Format des événements et bibliothèques
Eventarc envoie les événements, quel que soit leur fournisseur, à la destination cible dans un CloudEvents via une requête HTTP portant sur du contenu binaire. CloudEvents est une spécification décrivant les métadonnées d'événements de manière courante.
Les destinations cibles telles que les fonctions Cloud Run et Cloud Run consomment des événements au format HTTP. Pour les destinations Workflows, le service Workflows convertit l'événement en objet JSON et le transmet à l'exécution du workflow comme argument d'exécution.
L'utilisation d'une méthode standard pour décrire les métadonnées d'événements garantit la cohérence, l'accessibilité et la portabilité. Les consommateurs d'événements peuvent lire ces événements directement, ou vous pouvez utiliser les bibliothèques clientes Cloud dans différents langages (y compris C++, C#, Go, Java, Node.js, PHP, Python et Ruby) pour lire et analyser les événements. Il existe également un ensemble de SDK CloudEvents spécifiques à chaque langage .
La structure du corps HTTP de tous les événements est disponible dans le dépôt GitHub Google CloudEvents.
Fiabilité et diffusion
Il n'existe pas de fonctionnalité de diffusion prioritaire "premier entré, premier sorti". Notez qu'un ordonnancement strict irait à l'encontre des garanties de disponibilité et d'évolutivité offertes par Eventarc, qui correspondent à celles de sa couche de transport, Pub/Sub. Pour en savoir plus, consultez la page Trier des messages.
La latence et le débit sont les meilleurs possible. Ils varient en fonction de plusieurs facteurs, y compris si le trafic de publication ou de sortie implique différentes régions, la configuration d'un service particulier et la charge réseau sur les ressources d'une Google Cloud région.
Notez que des quotas et limites d'utilisation qui s'appliquent généralement à Eventarc.
Stratégie de nouvelle tentative pour les événements
La durée de conservation par défaut des messages définie par Eventarc Advanced est de 24 heures avec un intervalle exponentiel entre les tentatives.
Eventarc Advanced utilise un intervalle exponentiel entre les tentatives pour gérer les erreurs pouvant faire l'objet d'une nouvelle tentative. Cela commence par un délai d'une seconde, qui est doublé après chaque tentative infructueuse (jusqu'à un maximum de 60 secondes et 5 tentatives).
Pour en savoir plus, consultez Nouvelles tentatives pour les événements.
Dupliquer des événements
Des événements en double peuvent être distribués aux gestionnaires d'événements. Selon la
spécification CloudEvents,
la combinaison des attributs source et id est considérée comme unique. Par conséquent, tous les événements ayant la même combinaison sont considérés comme des doublons.
Nous vous recommandons de mettre en œuvre des
gestionnaires d'événements idempotents.
Observabilité
Google Cloud Observability fournit des outils de surveillance, de journalisation et de diagnostic. Ces outils peuvent vous aider à surveiller et à analyser l'activité et la croissance d'Eventarc, ainsi qu'à comprendre le comportement, l'état de fonctionnement et les performances de vos applications. Pour en savoir plus, consultez Observabilité dans Eventarc.
Des journaux détaillés pour Eventarc, Cloud Run, les fonctions Cloud Run, Pub/Sub, et Workflows sont disponibles via Cloud Audit Logs.
Normes de conformité
Eventarc est conforme à ces certifications et normes.
Étape suivante
- Guide de démarrage rapide : publier et recevoir des événements en créant un bus et un enregistrement