Vous pouvez utiliser Eventarc et Firestore en mode Datastore pour créer des architectures basées sur les événements. Firestore en mode Datastore fournit des déclencheurs pour Eventarc qui génèrent des événements à partir de 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 offre 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 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 en parallèle de la scalabilité 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
Étalez les opérations pour le traitement parallèle. Si plusieurs systèmes fonctionnent en fonction des modifications d'entités, vous pouvez utiliser les flux basés sur le push dans chaque consommateur et acheminer l'événement vers plusieurs consommateurs.
Flux d'événements basés sur le push
Créer des conceptions de messages basées sur le push Les clients peuvent recevoir des notifications sans avoir à interroger des services distants. Sans la latence de sondage, vous pouvez mieux effectuer le traitement des données à la volée et l'analyse en temps réel.
Surveillance de l'état et alertes
Utilisez une architecture basée sur des événements pour ajouter des métriques personnalisées à vos opérations de base de données. Surveillez les modifications et les mises à jour, et recevez des alertes à leur sujet. Détectez les anomalies.
Limites
Notez les limites suivantes concernant les 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 générer des résultats ou des effets secondaires inattendus lorsqu'un événement est diffusé plusieurs fois. Pour en savoir plus, consultez la section Créer des fonctions idempotentes.
Un déclencheur est associé à une seule base de données. Vous ne pouvez pas créer un déclencheur qui correspond à 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 aux régions Eventarc suivantes:
Firestore – Plusieurs régions | Région Eventarc |
---|---|
nam5 |
us-central1 |
eur3 |
europe-west4 |
Interopérabilité des événements dans les modes Datastore et natif
Eventarc est compatible avec les déclencheurs d'événements pour le mode Datastore et le 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 des bases de données Firestore de différents types.
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.
Étape suivante
- Découvrez les architectures basées sur des événements.