Présentation des architectures basées sur des événements avec Eventarc

Vous pouvez utiliser Eventarc et Firestore en mode Datastore pour créer des architectures basées sur des événements. Firestore en mode Datastore fournit des déclencheurs pour Eventarc qui génèrent des événements à partir des modifications apportées à une entité particulière de votre base de données. Le déclencheur peut acheminer les événements vers une destination compatible:

Eventarc propose une solution standardisée pour gérer le flux des changements d'état, appelés événements, entre les microservices découplés. Lorsqu'il est déclenché, Eventarc achemine ces événements vers différentes destinations tout en gérant automatiquement la diffusion, la sécurité, les autorisations, l'observabilité et la gestion des erreurs.

Exemples de cas d'utilisation

Une architecture basée sur des événements est un modèle de conception de système dans lequel les services réagissent aux changements d'état appelés "événements". Vous pouvez utiliser ce modèle parallèlement à l'évolutivité de Firestore pour ajouter d'autres fonctionnalités à votre application. Par exemple, vous pouvez ajouter les fonctionnalités suivantes:

  • Interopérabilité entre différentes piles technologiques

    Répliquez vos données et transformez-les avant de les envoyer à un système d'analyse.

  • Traitement en parallèle

    Opérations de distribution ramifiée pour le traitement en parallèle Si plusieurs systèmes fonctionnent en fonction des modifications d'entité, vous pouvez utiliser les flux en mode push dans chaque consommateur et acheminer l'événement vers plusieurs consommateurs.

  • Flux d'événements basés sur les notifications push

    Créez des conceptions de messagerie en mode push. Les clients peuvent recevoir des notifications sans avoir à interroger les services distants. Sans la latence d'interrogation, vous pouvez mieux traiter les données à la volée et les analyser en temps réel.

  • Surveillance et alertes d'état

    Utilisez une architecture basée sur des événements pour ajouter des métriques personnalisées à vos opérations de base de données. Surveiller et recevoir des alertes sur les modifications et les mises à jour Détectez les anomalies.

Limites

Notez les limites suivantes relatives aux déclencheurs en mode Datastore pour Eventarc:

  • L'ordre n'est pas garanti. Les modifications rapides peuvent déclencher des événements dans un ordre inattendu.
  • Les événements sont diffusés au moins une fois.

    Assurez-vous que votre gestionnaire d'événements est idempotent et évitez de produire des résultats ou des effets secondaires inattendus lorsqu'un événement est diffusé plusieurs fois. Pour en savoir plus, consultez la page Créer des fonctions idempotentes.

  • Un déclencheur est associé à une seule base de données. Vous ne pouvez pas créer de déclencheur correspondant à plusieurs bases de données.

  • La suppression d'une base de données ne supprime pas automatiquement les déclencheurs de cette base de données. Le déclencheur cesse de diffuser des événements, mais continue d'exister jusqu'à ce que vous le supprimiez.

Emplacements Eventarc et Firestore en mode Datastore

Eventarc n'est pas compatible avec les emplacements multirégionaux pour les déclencheurs d'événements Firestore, mais vous pouvez toujours créer des déclencheurs pour les bases de données Firestore dans des emplacements multirégionaux. Eventarc mappe les emplacements multirégionaux Firestore sur les régions Eventarc suivantes:

Firestore - Plusieurs régions Région Eventarc
nam5 us-central1
eur3 europe-west4

Mode Datastore et interopérabilité des événements en mode natif

Eventarc est compatible avec les déclencheurs d'événements en mode Datastore et en mode natif. Ces déclencheurs d'événements sont interopérables avec les deux types de bases de données. Une base de données Firestore en mode natif peut recevoir des événements Datastore, et une base de données Firestore en mode Datastore peut recevoir des événements en mode natif.

L'interopérabilité des événements vous permet de partager du code Eventarc entre différents types de bases de données Firestore.

Conversions d'événements

Si vous appliquez un déclencheur d'événement en mode natif à une base de données en mode Datastore, Eventarc effectue les conversions suivantes:

  • L'espace de noms de l'entité est stocké dans l'attribut PartitionId de l'événement.
  • Les entités intégrées sont converties en types map en mode natif.

Étapes suivantes