Eventarc ti consente di creare architetture basate su eventi e basate su messaggi senza dover implementare, personalizzare o mantenere l'infrastruttura sottostante.
Eventarc è disponibile in due versioni: Eventarc Advanced e Eventarc Standard. Entrambe le versioni offrono una soluzione di gestione degli eventi scalabile, serverless e completamente gestita che consente di instradare in modo asincrono gli eventi dalle origini ai target. Per saperne di più, consulta Scegliere Eventarc Advanced o Eventarc Standard.
Eventarc Advanced è progettato per semplificare l'importazione, l'orchestrazione e la consegna dei dati sugli eventi tramite messaggi tra applicazioni, servizi ed endpoint. Eventarc Advanced ti consente di raccogliere gli eventi che si verificano in un sistema e di pubblicarli in un bus centrale. I servizi interessati possono iscriversi a messaggi specifici creando registrazioni. Puoi utilizzare l'autobus e una pipeline per instradare gli eventi da più fonti in tempo reale, pubblicarli in più destinazioni e, facoltativamente, trasformarli prima di inviarli a un target.
Eventarc Advanced è ideale per le organizzazioni con esigenze complesse di eventi e messaggistica, in particolare quelle che devono gestire numerosi argomenti Pub/Sub, code Kafka o altri sistemi di messaggistica di terze parti. Fornendo agli amministratori visibilità e controllo avanzati e centralizzati, Eventarc Advanced consente alle organizzazioni di collegare più team in diversi progetti.
Puoi gestire Eventarc Advanced dalla console Google Cloud, dalla riga di comando utilizzando Google Cloud CLI o dall'API Eventarc.
Concetti fondamentali
Un bus fornisce un endpoint rilevabile per gli eventi ed è un router che riceve tutti gli eventi pubblicati dai provider e li invia a zero o più destinazioni. Un bus ti consente di centralizzare, monitorare e tracciare il flusso di messaggi all'interno del sistema. Puoi utilizzare un bus per instradare gli eventi da molte origini a molti destinazioni.
I messaggi che arrivano a un bus vengono valutati in base ai criteri di una registrazione che rappresenta un abbonamento per gli eventi raccolti da un determinato bus. Gli eventi vengono inoltrati ai consumatori che si sono iscritti a questi eventi specifici. La registrazione ti consente di utilizzare Common Expression Language (CEL) per definire criteri di controllo dell'accesso granulare associando gli eventi in base ai relativi attributi. Una registrazione consente anche di specificare la pipeline a cui devono essere pubblicati gli eventi corrispondenti.
La pipeline è l'intermediario di consegna tra un bus e una destinazione. La pipeline specifica una destinazione target e offre anche la possibilità di trasformare gli eventi corrispondenti prima di pubblicarli nella destinazione. Ti consente di gestire strutture di eventi diverse supportando più formati di payload e di adattare i dati sugli eventi in tempo reale senza modificare i servizi di origine o di destinazione.
Funzionalità chiave
Eventarc Advanced supporta molti casi d'uso per le applicazioni di destinazione. Ecco alcune delle funzionalità principali:
Integrazione di applicazioni su larga scala: puoi collegare numerosi servizi e applicazioni, consentendo la comunicazione asincrona tra diversi formati e schemi di eventi.
Streaming di eventi per l'AI e l'analisi: puoi gestire l'afflusso di dati provenienti da dispositivi IoT e carichi di lavoro di IA, filtrando, trasformando e arricchendo gli eventi prima di inserirli nelle pipeline di analisi.
Deployment ibridi e multi-cloud: puoi estendere le tue architetture basate su eventi oltre Google Cloud, integrandole con sistemi on-premise e altri cloud provider. Eventarc Advanced consente di instradare gli eventi da varie origini, tra cui origini Google ed editori diretti di eventi.
Informazioni sulla regionalità
Eventarc Advanced è un servizio completamente regionale: tutto il traffico e i dati di Eventarc Advanced devono trovarsi nella stessa regione. Ad esempio, le registrazioni e le pipeline possono leggere ed elaborare i dati solo della stessa regione del bus. Il supporto tra regioni può essere ottenuto pubblicando eventi in bus diversi in regioni diverse e configurando una rete all'interno di un perimetro di servizio che si estende su più regioni.
Layout dei progetti
Tutte le risorse Eventarc devono appartenere a un Google Cloud progetto. Tuttavia, non è necessario che il provider (origine evento), il bus (amministratore) e la pipeline (destinazione evento) si trovino nello stesso progetto.
Puoi utilizzare una combinazione di autorizzazioni IAM (Identity and Access Management) per controllare l'utilizzo delle risorse, l'accesso granulare ai dati utilizzando CEL, allegamenti di rete e perimetri di servizio per supportare i requisiti di networking e sicurezza per diverse esigenze di entrata e uscita.
Eventi
Un evento è un record di dati che esprime un'occorrenza e il relativo contesto e indica una modifica in una risorsa o in un ambiente. Un evento è un'unità distinta di comunicazione, indipendente da altri eventi. Ad esempio, un evento potrebbe indicare una modifica ai dati di un database, un file aggiunto a un sistema di archiviazione o un job pianificato.
Tieni presente che un evento è anche un messaggio emesso da un componente quando il suo stato è cambiato. Quando si verifica un evento, il messaggio viene inviato all'infrastruttura di gestione degli eventi, dove i consumatori possono recuperarlo. Nel contesto dell'architettura basata su eventi, spesso utilizziamo il termine evento per riferirci al messaggio che lo comunica piuttosto che all'occorrenza stessa (ciò che è realmente accaduto per generare il messaggio).
Tipi di evento
Eventarc Advanced supporta gli eventi che provengono direttamente da una fonte Google.
Per ulteriori informazioni, consulta Tipi di eventi Google supportati da Eventarc.
Provider e destinazioni di eventi
Gli eventi vengono raccolti dai fornitori di eventi da Eventarc Advanced e instradati a una destinazione di eventi. Ogni pipeline Eventarc Advanced può specificare una sola destinazione come target per i messaggi instradati.
I fornitori supportati includono i fornitori di Google e i publisher diretti degli eventi. Le destinazioni supportate includono Cloud Run, funzioni Cloud Run, endpoint HTTP ospitati in una rete Virtual Private Cloud, workflow e un altro bus Eventarc Advanced.
Per ulteriori informazioni, consulta Fornitori e destinazioni di eventi.
Formato degli eventi e librerie
Eventarc pubblica gli eventi, indipendentemente dal provider, nella destinazione di destinazione in formato CloudEvents utilizzando una richiesta HTTP in modalità di contenuti binari. CloudEvents è una specifica per descrivere i metadati degli eventi in un modo comune.
Le destinazioni di destinazione come le funzioni Cloud Run e Cloud Run consumeranno gli eventi nel formato HTTP. Per le destinazioni di Workflows, il servizio Workflows converte l'evento in un oggetto JSON e lo passa all'esecuzione del flusso di lavoro come argomento di runtime.
L'utilizzo di un modo standard per descrivere i metadati degli eventi garantisce coerenza, accessibilità e portabilità. I consumatori di eventi possono leggere questi eventi direttamente oppure puoi utilizzare le librerie client di Cloud in vari linguaggi (tra cui C++, C#, Go, Java, Node.js, PHP, Python e Ruby) per leggerli e analizzarli. Esiste anche un insieme di SDK CloudEvents specifici per i vari linguaggi.
La struttura del corpo HTTP per tutti gli eventi è disponibile nel repository GitHub di Google CloudEvents.
Affidabilità e pubblicazione
Non è garantita la consegna in ordine e con invio in base all'ordine di arrivo. Tieni presente che un ordine rigoroso minerebbe le funzionalità di disponibilità e scalabilità di Eventarc, che corrispondono a quelle del suo livello di trasporto, Pub/Sub. Per ulteriori informazioni, consulta la sezione Ordinare i messaggi.
La latenza e il throughput sono garantiti al meglio delle possibilità. Variano in base a diversi fattori, ad esempio se il traffico di pubblicazione o in uscita coinvolge regioni diverse, la configurazione di un determinato servizio e il carico della rete sulle risorse in una Google Cloud regione.
Tieni presente che esistono quote e limiti di utilizzo che si applicano in genere a Eventarc.
Criterio di ripetizione degli eventi
La durata di conservazione dei messaggi predefinita impostata da Eventarc Advanced è di 24 ore con un ritardo di backoff esponenziale.
Eventarc Advanced utilizza un ritardo di backoff esponenziale per gestire gli errori che possono essere riprovati. Il ritardo inizia con un secondo e viene raddoppiato dopo ogni tentativo non riuscito (fino a un massimo di 60 secondi e 5 tentativi).
Per ulteriori informazioni, vedi Eventi di ripetizione.
Eventi duplicati
Gli eventi duplicati potrebbero essere inviati ai gestori di eventi. In base alla
specifica CloudEvents,
la combinazione di attributi source
e id
è considerata univoca e
di conseguenza tutti gli eventi con la stessa combinazione sono considerati duplicati.
Come best practice generale, devi implementare
gestori eventi idempotenti.
Osservabilità
I log dettagliati per Eventarc, Cloud Run, funzioni Cloud Run, Pub/Sub e Workflows sono disponibili in Cloud Audit Logs.