Panoramica delle architetture basate su eventi con Eventarc

Puoi utilizzare Eventarc e Firestore in modalità Datastore per creare architetture basate su eventi. Firestore in modalità Datastore fornisce trigger per Eventarc che generano eventi dalle modifiche a una determinata entità nel database. Il trigger può instradare gli eventi a una destinazione supportata:

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.

Esempi di casi d'uso

Un'architettura basata su eventi è un modello di progettazione del sistema in cui i servizi reagiscono a cambiamenti di stato, noti come eventi. Puoi utilizzare questo pattern insieme alla scalabilità di Firestore per aggiungere altre funzionalità alla tua app. Ad esempio, potresti aggiungere le seguenti funzionalità:

  • Interoperabilità tra diversi stack tecnologici

    Replica i tuoi dati e trasformali prima di inviarli a un sistema di analisi.

  • Elaborazione in parallelo

    Le operazioni di fan-out per l'elaborazione parallela. Se disponi di più sistemi che operano in base alle modifiche dell'entità, puoi utilizzare gli stream basati su push in ogni consumer e instradare l'evento a più consumer.

  • Flussi di eventi basati su push

    Crea progetti di messaggistica basati sulle notifiche push. I client possono ricevere le notifiche senza dover eseguire un sondaggio per i servizi remoti. Senza la latenza del polling, puoi eseguire al meglio l'elaborazione dei dati e l'analisi in tempo reale.

  • Monitoraggio e avvisi dello stato

    Usa un'architettura basata su eventi per aggiungere metriche personalizzate alle operazioni del database. Monitora e ricevi avvisi su modifiche e aggiornamenti. Rilevare le anomalie.

Limitazioni

Tieni presente le seguenti limitazioni per i trigger in modalità Datastore per Eventarc:

  • L'ordine non è garantito. Le modifiche rapide possono attivare gli eventi in un ordine imprevisto.
  • Gli eventi vengono pubblicati almeno una volta.

    Assicurati che il gestore di eventi sia idempotente ed evita di produrre risultati o effetti collaterali imprevisti quando un evento viene pubblicato più di una volta. Per scoprire di più, consulta Creazione di funzioni idempotenti.

  • Un trigger è associato a un singolo database. Non puoi creare un trigger corrispondente a più database.

  • L'eliminazione di un database non elimina automaticamente i trigger per quel database. L'attivatore smette di pubblicare eventi, ma continua a esistere finché non lo elimini.

Eventarc e Firestore nelle località in modalità Datastore

Eventarc non supporta più regioni per gli attivatori di eventi Firestore, ma puoi comunque creare trigger per i database Firestore in località multiregionali. Eventarc mappa le località multiregionali di Firestore alle seguenti regioni Eventarc:

Firestore (più aree geografiche) Regione Eventarc
nam5 us-central1
eur3 europe-west4

Interoperabilità degli eventi in modalità Datastore e in modalità Native

Eventarc supporta i trigger di eventi sia per la modalità Datastore che per la modalità Native. Questi trigger 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 trigger di evento in modalità Native a un database in modalità Datastore, Eventarc effettua le seguenti conversioni:

  • Lo spazio dei nomi dell'entità è archiviato nell'attributo PartitionId dell'evento.
  • Le entità incorporate vengono convertite nei tipi di map in modalità nativa.

Passaggi successivi