Présentation d'Eventarc Advanced

Eventarc vous permet de créer des architectures basées sur des événements et basées sur les 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 proposent une solution d'événements évolutive, sans serveur et entièrement gérée qui vous permet de router de manière asynchrone des événements de sources vers des cibles. Pour en savoir plus, consultez la page 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énement via des messages entre les applications, les services et les points de terminaison. Eventarc Advanced vous permet de collecter les événements qui se produisent dans un système et de les publier sur un bus central. Les services intéressés peuvent s'abonner à des messages spécifiques en créant des inscriptions. Vous pouvez utiliser le bus et un pipeline pour acheminer des événements provenant de plusieurs sources en temps réel, les publier sur plusieurs destinations et éventuellement les transformer avant de les transmettre à 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 à différents projets.

Vous pouvez gérer Eventarc Advanced à l'aide de la console Google Cloud, de la ligne de commande avec Google Cloud CLI ou de l'API Eventarc.

Eventarc Advanced vous permet de recevoir, de filtrer, de transformer, d'acheminer et de diffuser des messages entre différents services, applications et systèmes.
Eventarc Advanced vous permet de recevoir, de filtrer, de transformer, d'acheminer et de diffuser des messages
entre différents services, applications et systèmes (cliquez sur le schéma pour l'agrandir).

Concepts clés

  1. 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 distribue à 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 provenant de nombreuses sources vers de nombreuses cibles.

  2. Les messages qui arrivent sur 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 spécifique. Les événements sont acheminés vers les consommateurs qui se sont abonnés à ces événements spécifiques. L'inscription vous permet d'utiliser le Common Expression Language (CEL) pour définir des règles de contrôle des accès précises en faisant correspondre des événements en fonction de leurs attributs. Une inscription vous permet également de spécifier le pipeline auquel les événements correspondants doivent être envoyés.

  3. 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 transmettre à la destination. Il vous permet de gérer différentes structures d'événements en prenant en charge plusieurs formats de charge utile et en vous permettant d'adapter les données d'événement instantanément 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 fonctionnalités clé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.

  • Flux 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, transformant et enrichissant les événements avant de les transmettre à vos pipelines d'analyse.

  • Déploiements hybrides et multicloud: vous pouvez étendre vos architectures orientées événements au-delà de Google Cloud, en les intégrant à 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 de sources Google et d'é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 Eventarc Advanced doivent se trouver 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 sur différents bus dans différentes régions et en configurant un réseau dans un périmètre de service couvrant plusieurs régions.

Mises en page de projet

Toutes les ressources Eventarc doivent appartenir à un projet Google Cloud. Toutefois, le fournisseur (source d'événement), le bus (administrateur) et le pipeline (cible d'événement) ne doivent pas nécessairement se trouver dans le même projet.

Vous pouvez utiliser une combinaison d'autorisations IAM (Identity and Access Management) pour contrôler l'utilisation des ressources, l'accès précis aux données à l'aide de CEL, les attachements réseau et les périmètres de service afin de 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 un changement dans une ressource ou un environnement. Un événement correspond à une unité discrète de communication, indépendante des autres événements. Par exemple, un événement peut indiquer une modification apportée aux données d'une base de données, l'ajout d'un fichier à un système de stockage ou 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 les é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 est compatible avec les événements provenant directement d'une source Google.

Pour en savoir plus, consultez la section 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 des 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, les workflows et un autre bus Eventarc Advanced.

Pour en savoir plus, consultez la section 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 format 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. Vous pouvez également 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 région Google Cloud.

Notez que des quotas et limites d'utilisation 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. Il commence avec un délai d'une seconde et le délai est doublé après chaque tentative infructueuse (jusqu'à 60 secondes et cinq tentatives au maximum).

Pour en savoir plus, consultez la section Événements de nouvelle tentative.

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é

Des journaux détaillés pour Eventarc, Cloud Run, Cloud Run Functions, Pub/Sub et Workflows sont disponibles via Cloud Audit Logs.

Étape suivante