Eventarc ti consente di creare architetture basate su eventi e su messaggi senza dover implementare, personalizzare o gestire 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 gli eventi in modo asincrono dalle origini alle destinazioni. Per saperne di più, vedi Scegliere Eventarc Advanced o Eventarc Standard.
Eventarc Advanced è progettato per semplificare l'importazione, l'orchestrazione e la distribuzione 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 console Google Cloud , dalla 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 invia a zero o più destinazioni. Un bus ti consente di centralizzare, monitorare e tracciare il flusso di messaggi nel tuo 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 indirizzati ai consumatori che si sono abbonati a questi eventi specifici. La registrazione ti consente di utilizzare Common Expression Language (CEL) per definire criteri di controllo dell'accesso granulari abbinando gli eventi in base agli attributi dell'evento. Una registrazione consente anche di specificare la pipeline a cui devono essere inviati gli eventi corrispondenti.
La pipeline è l'intermediario di consegna 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 consentendo di adattare i dati degli eventi al volo senza modificare i servizi di origine o di destinazione.
Funzionalità chiave
Eventarc Advanced supporta molti casi d'uso per le applicazioni di destinazione. Alcune delle funzionalità principali sono:
Integrazione di applicazioni su larga scala: puoi connettere numerosi servizi e applicazioni, consentendo la comunicazione asincrona in 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 tue architetture basate su eventi oltre Google Cloud, integrandosi con sistemi on-premise e altri cloud provider. Eventarc Advanced consente di instradare eventi da varie origini, tra cui origini Google ed editori diretti di eventi.
Comprendere la 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 su 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 progetto. Google CloudTuttavia, non è necessario che il provider (origine eventi), il bus (amministratore) e la pipeline (destinazione eventi) si trovino nello stesso progetto.
Puoi utilizzare una combinazione di autorizzazioni Identity and Access Management (IAM) per controllare l'utilizzo delle risorse, l'accesso granulare ai dati utilizzando 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 relativo contesto e indica una modifica in una risorsa o in un ambiente. Un evento è un'unità discreta 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 consumer possono recuperarlo. Nel contesto dell'architettura basata sugli eventi, spesso utilizziamo il termine evento per indicare il messaggio che comunica l'evento anziché l'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 ulteriori informazioni, vedi Tipi di eventi Google supportati da Eventarc.
Provider e destinazioni di eventi
Gli eventi vengono raccolti dai fornitori di eventi da Eventarc Advanced e indirizzati 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 Google e gli editori diretti di eventi. Le destinazioni supportate includono Cloud Run, Cloud Run Functions, endpoint HTTP ospitati in una rete Virtual Private Cloud, Workflows e un altro bus Eventarc Advanced.
Per ulteriori informazioni, vedi Fornitori e destinazioni di eventi.
Formato degli eventi e librerie
Eventarc distribuisce gli eventi, indipendentemente dal provider, alla 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 nel formato HTTP. Per le destinazioni dei flussi di lavoro, il servizio Workflows converte l'evento in un oggetto JSON e lo passa all'esecuzione del flusso di lavoro come argomento 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 vari linguaggi (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 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 di arrivo. 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 ulteriori informazioni, consulta la sezione Ordinamento dei messaggi.
Latenza e velocità effettiva sono basate sul "best effort". Variano in base a più fattori, tra cui se il traffico di pubblicazione o in uscita coinvolge regioni diverse, la configurazione di un servizio specifico e il carico di rete sulle risorse in una regione Google Cloud .
Tieni presente che esistono quote e limiti di utilizzo che si applicano generalmente a Eventarc.
Policy 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. Inizia con un ritardo di un secondo, che viene raddoppiato dopo ogni tentativo non riuscito (fino a un massimo di 60 secondi e 5 tentativi).
Per saperne di più, vedi Riprovare gli eventi.
Duplicare gli eventi
Gli eventi duplicati potrebbero essere inviati ai 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 ulteriori informazioni, vedi 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.