Puoi utilizzare Eventarc e Firestore in modalità Datastore per creare architetture basate su eventi. Firestore in modalità Datastore fornisce attivatori per Eventarc che generano eventi dalle modifiche apportate a una determinata entità nel database. L'attivatore può instradare gli eventi a una destinazione supportata:
Eventarc offre una soluzione standardizzata per gestire il flusso delle 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.
Esempi di casi d'uso
Un'architettura basata su eventi è un pattern di progettazione di sistema in cui i servizi reagiscono alle modifiche dello stato note come eventi. Puoi utilizzare questo pattern insieme alla scalabilità di Firestore per aggiungere altre funzionalità alla tua app. Ad esempio, puoi aggiungere le seguenti funzionalità:
Interoperabilità tra diversi stack tecnologici
Replicare i dati e trasformarli prima di inviarli a un sistema di analisi.
Elaborazione parallela
Esegui operazioni di fan-out per l'elaborazione parallela. Se hai più sistemi che operano in base alle modifiche delle entità, puoi utilizzare gli stream basati su push in ogni consumer e inoltrare l'evento a più consumer.
Stream di eventi basati su push
Creare design di messaggistica push. I client possono ricevere notifiche senza dover eseguire il polling dei servizi remoti. Senza la latenza del polling, puoi eseguire meglio l'elaborazione dei dati e l'analisi in tempo reale.
Monitoraggio e avvisi sullo stato
Utilizza un'architettura basata su eventi per aggiungere metriche personalizzate alle operazioni del database. Monitorare e ricevere avvisi su modifiche e aggiornamenti. Rileva le anomalie.
Limitazioni
Tieni presenti le seguenti limitazioni per gli attivatori della modalità Datastore per Eventarc:
- L'ordine non è garantito. Le variazioni rapide possono attivare gli eventi in un ordine imprevisto.
Gli eventi vengono pubblicati almeno una volta.
Assicurati che il gestore degli eventi sia idempotente ed evita di produrre risultati o effetti collaterali inaspettati quando un evento viene inviato più volte. Per saperne di più, consulta Creazione di funzioni idempotenti.
Un trigger è associato a un singolo database. Non puoi creare un attivatore che corrisponda a più database.
L'eliminazione di un database non comporta l'eliminazione automatica degli attivatori per quel database. L'attivatore interrompe l'invio di eventi, ma continua a esistere finché non lo elimini.
Località di Eventarc e Firestore in modalità Datastore
Eventarc non supporta le regioni multiple per gli attivatori di eventi Firestore, ma puoi comunque creare attivatori per i database Firestore in località multiregionali. Eventarc mappa le località Firestore in più regioni alle seguenti regioni Eventarc:
Firestore (più regioni) | Regione Eventarc |
---|---|
nam5 |
us-central1 |
eur3 |
europe-west4 |
Interoperabilità degli eventi in modalità Datastore e modalità Native
Eventarc supporta gli attivatori di eventi sia per la modalità Datastore sia 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, mentre un database Firestore in modalità Datastore può ricevere eventi in modalità Native.
L'interoperabilità degli eventi ti consente di condividere il codice Eventarc tra database Firestore di diversi tipi.
Conversioni evento
Se applichi un attivatore 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.