Crea architetture basate su eventi con Eventarc
Puoi utilizzare Eventarc e Firestore per creare architetture basate su eventi. I trigger Firestore per Eventarc generano eventi dalle modifiche a un particolare documento nel tuo database. Il trigger può indirizzare gli eventi a una destinazione supportata:
- Funzioni Cloud Run (2ª generazione) che supportano le librerie client Cloud e l'SDK Firebase
- Cloud Run
- Google Kubernetes Engine
- Workflows
Eventarc offre una soluzione standardizzata per gestire il flusso di modifiche dello stato, chiamate eventi, tra microservizi disaccoppiati. Quando viene attivato, Eventarc indirizza questi eventi a varie destinazioni e gestisce per te la distribuzione, la sicurezza, l'autorizzazione, l'osservabilità e la gestione degli errori.
Limitazioni
Tieni presente le seguenti limitazioni per i trigger Firestore per Eventarc:
- L'ordinamento non è garantito. Cambiamenti rapidi possono attivare eventi in un ordine imprevisto.
Gli eventi vengono inviati almeno una volta.
Assicurati che il gestore di eventi sia idempotente ed evita di produrre risultati imprevisti o effetti collaterali quando un evento viene inviato più di una volta. Per saperne di più, consulta Creazione di funzioni idempotenti.
Un trigger è associato a un singolo database. Non puoi creare un trigger che corrisponda a più database.
L'eliminazione di un database non comporta l'eliminazione automatica di eventuali trigger per quel database. Il trigger smette di inviare eventi, ma continua a esistere finché non lo elimini. Se il database viene ricreato, anche tutti i trigger associati dovranno essere eliminati e ricreati per ripristinare la distribuzione degli eventi.
Località Eventarc e Firestore
Eventarc non supporta più regioni per i trigger di eventi Firestore in modalità Native, ma puoi comunque creare trigger per i database Firestore in località multiregionali. Eventarc mappa le località multiregionali di Firestore nelle seguenti regioni Eventarc:
Firestore (più regioni) | Regione Eventarc |
---|---|
nam5 |
us-central1 |
eur3 |
europe-west4 |
Differenze tra le funzioni Cloud Run (2ª generazione.) e 1ª generazione.)
Cloud Run Functions (2ª generazione) utilizza gli eventi Eventarc per tutti i runtime. In precedenza, Cloud Run Functions (1ª generazione.) utilizzava gli eventi Eventarc solo per alcuni runtime. Gli eventi Eventarc introducono le seguenti differenze rispetto alle funzioni Cloud Run (1ª generazione.).
I trigger Firestore per Eventarc supportano destinazioni aggiuntive oltre alle funzioni Cloud Run. Puoi indirizzare
CloudEvents
a una serie di destinazioni, tra cui, a titolo esemplificativo, Cloud Run, GKE e Workflows.Gli attivatori Firestore per Eventarc recuperano la definizione dell'attivatore all'inizio di un'operazione di scrittura del database e la utilizzano per decidere se Firestore deve generare un evento. L'operazione di scrittura non tiene conto di eventuali modifiche alla definizione del trigger che potrebbero verificarsi durante l'esecuzione.
Le funzioni Cloud Run (1ª generazione.) recuperano la definizione del trigger durante la valutazione della scrittura del database e le modifiche al trigger durante la valutazione possono influire sull'emissione o meno di un evento da parte di Firestore.
Interoperabilità degli eventi in modalità Datastore e Native
Eventarc supporta i trigger di eventi sia per la modalità Datastore che per la modalità Native. Questi attivatori di eventi sono interoperabili con entrambi i tipi di database. Un database Firestore in modalità Native può ricevere eventi Datastore e un database Firestore in modalità Datastore può ricevere eventi in modalità Native.
L'interoperabilità degli eventi consente di condividere il codice Eventarc tra database Firestore di tipi diversi.
Conversioni evento
Se applichi un trigger di eventi in modalità Native a un database in modalità Datastore, Eventarc esegue le seguenti conversioni:
- Lo spazio dei nomi dell'entità è memorizzato nell'attributo
PartitionId
dell'evento. - Le entità incorporate vengono convertite in tipi
map
in modalità Native.
Passaggi successivi
- Scopri di più sulle architetture basate su eventi.