Eventarc consente di creare architetture basate su eventi e messaggi senza dover implementare, personalizzare o gestire l'infrastruttura sottostante.
Eventarc è disponibile in due versioni: Eventarc Advanced ed Eventarc Standard. Entrambe le versioni offrono una soluzione di eventi scalabile, serverless e completamente gestita che consente di instradare in modo asincrono gli eventi dalle origini alle destinazioni. Per saperne di più, consulta Scegliere Eventarc Advanced o Eventarc Standard.
Eventarc Advanced è progettato per semplificare l'importazione, l'orchestrazione e la pubblicazione dei dati sugli eventi tramite messaggi tra applicazioni, servizi ed endpoint. Eventarc Advanced consente di raccogliere gli eventi che si verificano in un sistema e pubblicarli in un bus centrale. I servizi interessati possono abbonarsi a messaggi specifici creando registrazioni. Puoi utilizzare il bus e una pipeline per instradare gli eventi da più origini in tempo reale, pubblicarli in più destinazioni e, facoltativamente, trasformarli prima della pubblicazione in una destinazione.
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 connettere più team in progetti diversi.
Puoi gestire Eventarc Advanced dalla Google Cloud console, da lla riga di comando utilizzando Google Cloud CLI o utilizzando l'API Eventarc.
tra diversi servizi, app e sistemi (fai clic sul diagramma per ingrandirlo).
Concetti fondamentali
Un bus fornisce un endpoint rilevabile per gli eventi ed è un router che riceve tutti gli eventi pubblicati dai provider e li pubblica in zero o più destinazioni. Un bus consente di centralizzare, monitorare e tracciare il flusso di messaggi nel sistema. Puoi utilizzare un bus per instradare gli eventi da molte origini a molte destinazioni.
I messaggi che arrivano a un bus vengono valutati in base ai criteri di una registrazione che rappresenta un abbonamento agli eventi raccolti da un determinato bus. Gli eventi vengono instradati ai consumer che hanno sottoscritto questi eventi specifici. La registrazione consente di utilizzare Common Expression Language (CEL) per definire policy di controllo dell'accesso granulari abbinando gli eventi in base agli attributi degli eventi. Una registrazione consente anche di specificare la pipeline a cui devono essere pubblicati gli eventi corrispondenti.
La pipeline è l'intermediario di pubblicazione tra un bus e una destinazione. La pipeline specifica una destinazione di destinazione e offre anche la possibilità di trasformare gli eventi corrispondenti prima di pubblicarli nella destinazione. Consente di gestire diverse strutture di eventi supportando più formati di payload e di adattare i dati degli 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 funzionalità chiave:
Integrazione di applicazioni su larga scala: puoi connettere numerosi servizi e applicazioni, consentendo la comunicazione asincrona tra diversi formati e schemi di eventi.
Streaming di eventi per AI e analisi: puoi gestire l'afflusso di dati da dispositivi IoT e carichi di lavoro AI, filtrando, trasformando e arricchendo gli eventi prima di inserirli nelle pipeline di analisi.
Deployment ibridi e multi-cloud: puoi estendere le architetture basate su eventi oltre Google Cloud, integrarle con i sistemi on-premise e altri provider di servizi cloud. Eventarc Advanced consente di instradare gli eventi da varie origini, incluse le origini Google e i publisher diretti di eventi.
Informazioni sulla regionalità
Eventarc Advanced è un servizio completamente regionale: tutto il traffico e i dati di Eventarc Advanced devono risiedere nella stessa regione. Ad esempio, le registrazioni e le pipeline possono leggere ed elaborare i dati solo dalla stessa regione del bus. Il supporto cross-region 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 eventi), il bus (amministratore) e la pipeline (destinazione eventi) si trovino nello stesso progetto. Puoi anche raccogliere e pubblicare eventi da origini Google in più progetti. Per saperne di più, consulta Pubblicare eventi da più progetti.
Puoi utilizzare una combinazione di autorizzazioni Identity and Access Management (IAM) per controllare l'utilizzo delle risorse, l'accesso granulare ai dati utilizzando policy di accesso e CEL, e perimetri di servizio per supportare i requisiti di rete e sicurezza per diverse esigenze di ingresso e uscita.
Eventi
Un evento è un record di dati che esprime un'occorrenza e il suo contesto e indica una modifica a una risorsa o a un ambiente. Un evento è un'unità di comunicazione discreta, 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 eventi in cui i consumer possono recuperarlo. Nel contesto dell'architettura basata su eventi, spesso utilizziamo il termine evento per fare riferimento al messaggio che comunica l'evento anziché all'occorrenza stessa (ciò che è realmente accaduto per generare il messaggio).
Tipi di evento
Eventarc Advanced supporta gli eventi provenienti direttamente da un'origine Google.
Per saperne di più, consulta Tipi di eventi Google supportati da Eventarc.
Provider e destinazioni di eventi
Gli eventi vengono raccolti dai provider 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 provider supportati includono i provider Google e i publisher diretti di eventi. Le destinazioni supportate includono Cloud Run, Cloud Run Functions, endpoint HTTP ospitati in una rete Virtual Private Cloud, un argomento Pub/Sub, Workflows e un altro bus Eventarc Advanced.
Per saperne di più, consulta Provider e destinazioni di eventi.
Formato e librerie degli eventi
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 modo comune.
Le destinazioni di destinazione come Cloud Run Functions e Cloud Run utilizzano gli eventi in formato HTTP. Per le destinazioni 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 supporta la coerenza, l'accessibilità e la portabilità. I consumer di eventi possono leggere questi eventi direttamente, oppure puoi utilizzare le librerie client Cloud in varie lingue (tra cui C++, C#, Go, Java, Node.js, PHP, Python e Ruby) per leggere e analizzare gli eventi. Esiste anche un insieme di SDK CloudEvents specifici per lingua. CloudEvents SDKs.
La struttura del corpo HTTP per tutti gli eventi è disponibile nel repository GitHub di Google CloudEvents.
Affidabilità e pubblicazione
Non è garantita la pubblicazione in ordine, FIFO (First-In-First-Out). Tieni presente che un ordinamento rigoroso comprometterebbe le funzionalità di disponibilità e scalabilità di Eventarc, che corrispondono a quelle del livello di trasporto, Pub/Sub. Per saperne di più, consulta Ordinare i messaggi.
La latenza e la velocità effettiva sono il massimo sforzo. Variano in base a più fattori, tra cui se il traffico di pubblicazione o in uscita coinvolge regioni diverse , la configurazione di un determinato servizio e il carico di rete sulle risorse in una Google Cloud regione.
Tieni presente che esistono quote e limiti di utilizzo che si applicano in generale a Eventarc.
Policy di ripetizione degli eventi
La durata predefinita di conservazione dei messaggi 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. Inizia con un ritardo di un secondo e il ritardo viene raddoppiato dopo ogni tentativo non riuscito (fino a un massimo di 60 secondi e 5 tentativi).
Per saperne di più, consulta Nuovo tentativo per gli eventi.
Duplicare gli eventi
Gli eventi duplicati potrebbero essere pubblicati nei gestori di eventi. Secondo la
specifica CloudEvents,
la combinazione degli attributi source e id è considerata univoca e,
pertanto, tutti gli eventi con la stessa combinazione sono considerati duplicati.
Come best practice generale, devi implementare
gestori di eventi idempotenti.
Osservabilità
Google Cloud Observability fornisce strumenti di monitoraggio, logging e diagnostica. Questi strumenti possono aiutarti a monitorare e analizzare l'attività e la crescita di Eventarc e a comprendere il comportamento, l'integrità e le prestazioni delle tue applicazioni. Per saperne di più, consulta Osservabilità in Eventarc.
I log dettagliati per Eventarc, Cloud Run, Cloud Run Functions, Pub/Sub e Workflows sono disponibili in Cloud Audit Logs.
Standard di conformità
Eventarc è conforme a queste certificazioni e standard.