Scegliere tra i servizi di messaggistica di Azure - Griglia di eventi, Hub eventi, bus di servizio

Azure offre tre servizi che consentono di recapitare eventi o messaggi in una soluzione. Questi servizi sono: Griglia di eventi di Azure, Hub eventi di Azure, bus di servizio di Azure.

Nonostante alcune analogie, ogni servizio è progettato per determinati scenari. Questo articolo descrive le differenze tra i servizi e consente di scegliere quello più adatto all'applicazione. In molti casi, i servizi di messaggistica sono complementari e possono essere usati insieme.

Eventi e messaggi

Esiste una distinzione importante tra i servizi che recapitano un evento e i servizi che recapitano un messaggio.

Event

Un evento è una notifica leggera di una condizione o di una modifica dello stato. L'autore dell'evento non ha alcuna aspettativa sulla modalità di gestione dell'evento. Il consumer dell'evento decide cosa fare con la notifica. Gli eventi possono essere unità discrete o parte di una serie.

Gli eventi discreti segnalano la modifica di uno stato e sono interattivi. Per eseguire il passaggio successivo, il consumer deve solo sapere che si è verificato qualcosa. I dati dell'evento contengono informazioni su ciò che è successo, ma non contengono i dati che hanno attivato l'evento. Ad esempio, un evento notifica ai consumer che è stato creato un file. Potrebbe contenere informazioni generali sul file, ma non contiene il file stesso. Gli eventi discreti sono ideali per le soluzioni serverless che devono essere ridimensionate.

Una serie di eventi segnala una condizione e può essere analizzata. Gli eventi sono ordinati nel tempo e intercorrelati. Il consumer necessita della serie sequenziata di eventi per analizzare ciò che è successo.

Messaggio

Un messaggio è costituito da dati non elaborati prodotti da un servizio da utilizzare o archiviare altrove. Il messaggio contiene i dati che hanno attivato la pipeline del messaggio. L'autore del messaggio è in attesa del modo in cui il consumer gestisce il messaggio. Esiste un contratto tra le due parti. Ad esempio, l'autore invia un messaggio con i dati non elaborati e si aspetta che il consumer crei un file da tali dati e invii una risposta al termine del lavoro.

A questo punto, esaminiamo rapidamente quali Griglia di eventi di Azure, Hub eventi di Azure e bus di servizio di Azure sono.

Griglia di eventi di Azure

Griglia di eventi di Azure è un servizio di distribuzione dei messaggi pub sub altamente scalabile e completamente gestito che offre modelli di consumo di messaggi flessibili tramite i protocolli MQTT (Message Queueing Telemetry Transport) e HTTP. Con Griglia di eventi di Azure è possibile creare pipeline di dati con dati del dispositivo, integrare applicazioni e creare architetture serverless basate su eventi.

Il servizio fornisce un backbone di eventi che consente la programmazione reattiva e guidata dagli eventi. Usa il modello di pubblicazione-sottoscrizione. I server di pubblicazione emettono gli eventi, ma non hanno aspettative in merito alla loro gestione. I sottoscrittori decidono quali eventi vogliono gestire.

Griglia di eventi è completamente integrato con altri servizi di Azure e può essere integrato con servizi di terze parti. Semplifica l'utilizzo degli eventi e riduce i costi eliminando la necessità di polling costante. Griglia di eventi instrada in modo efficiente e affidabile gli eventi dalle risorse di Azure e non di Azure. Distribuisce gli eventi agli endpoint dei sottoscrittori registrati. Il messaggio dell'evento contiene le informazioni necessarie per reagire alle modifiche apportate ai servizi e alle applicazioni. Griglia di eventi non è una pipeline di dati e non recapita l'oggetto effettivo aggiornato.

Le caratteristiche sono le seguenti:

  • Scalabile dinamicamente
  • Costi contenuti
  • Senza server
  • Almeno una volta consegna di un evento

Griglia di eventi è disponibile in due edizioni: Griglia di eventi di Azure, un servizio PaaS completamente gestito in Azure e Griglia di eventi in Kubernetes con Azure Arc, che consente di usare Griglia di eventi nel cluster Kubernetes ovunque sia distribuito, locale o nel cloud. Per altre informazioni, vedere panoramica di Griglia di eventi di Azure e Griglia di eventi in Kubernetes con Panoramica di Azure Arc.

Hub eventi di Azure

Hub eventi di Azure è una piattaforma di streaming di Big Data e un servizio di inserimento di eventi. È in grado di ricevere ed elaborare milioni di eventi al secondo. Semplifica l'acquisizione, la conservazione e la riproduzione dei dati dei flussi di eventi e di telemetria. I dati possono provenire da molte origini simultanee. Hub eventi consente di rendere disponibili i dati di telemetria e di eventi a vari servizi di analisi e infrastrutture di elaborazione di flusso. È disponibile come flussi di dati o batch di eventi in bundle. Questo servizio offre una singola soluzione che consente il recupero rapido dei dati per l'elaborazione in tempo reale e la riproduzione ripetuta dei dati non elaborati archiviati. Consente di acquisire i dati di streaming in un file per l'elaborazione e l'analisi.

Le caratteristiche sono le seguenti:

  • Bassa latenza
  • Può ricevere ed elaborare milioni di eventi al secondo
  • Almeno una volta consegna di un evento

Per altre informazioni, vedere Panoramica di Hub eventi.

Bus di servizio di Azure

bus di servizio è un broker di messaggi aziendale completamente gestito con code di messaggi e argomenti di pubblicazione-sottoscrizione. Il servizio è destinato alle applicazioni aziendali che richiedono transazioni, ordinamento, rilevamento duplicati e coerenza immediata. Il bus di servizio consente alle applicazioni native del cloud di offrire una gestione delle transizioni di stato affidabile per i processi aziendali. Quando si gestiscono messaggi di valore elevato che non possono essere persi o duplicati, usare bus di servizio di Azure. Questo servizio facilita anche la comunicazione altamente sicura tra soluzioni cloud ibride e può connettere i sistemi locali esistenti alle soluzioni cloud.

Il bus di servizio è un sistema di messaggistica negoziata. Archivia i messaggi in un "broker", ad esempio una coda, fino a quando il consumer non è pronto a riceverli. Le caratteristiche sono le seguenti:

  • Recapito affidabile di messaggi asincroni (messaggistica aziendale come servizio) che richiede il polling. Se si usa bus di servizio ed è necessario ricevere messaggi senza dover eseguire il polling della coda, è possibile ottenerlo usando un'operazione di ricezione di polling lungo usando i protocolli basati su TCP supportati da bus di servizio.
  • Funzionalità avanzate di messaggistica come fifo (First-In e First-Out), invio in batch/sessioni, transazioni, messaggi non recapitabili, controllo temporale, routing e filtro e rilevamento duplicati
  • Almeno una volta il recapito di un messaggio
  • Recapito ordinato facoltativo dei messaggi

Per altre informazioni, vedere bus di servizio panoramica.

Confronto dei servizi

La tabella seguente confronta i tre servizi: Griglia di eventi, Hub eventi e bus di servizio.

Servizio Scopo Type Quando utilizzare
Griglia di eventi Programmazione reattiva Distribuzione di eventi (eventi discreti) Reazione alle modifiche di stato
Hub eventi Pipeline di Big Data Streaming di eventi (serie) Streaming dei dati di telemetria e dei dati distribuiti
Bus di servizio Messaggistica aziendale di valore elevato Messaggio Elaborazione degli ordini e transazioni finanziarie

Usare i servizi insieme

In alcuni casi, è possibile usare i servizi affiancati per ricoprire ruoli distinti. Un sito di e-commerce ad esempio può usare il bus di servizio per elaborare l'ordine, Hub eventi per acquisire i dati di telemetria del sito e Griglia di eventi per rispondere a eventi come la spedizione di un articolo.

In altri casi, è possibile collegarli per formare una pipeline di eventi e dati. Si usa Griglia di eventi per rispondere agli eventi negli altri servizi. Per un esempio di uso di Griglia di eventi con Hub eventi per eseguire la migrazione dei dati ad Azure Synapse Analytics, vedere Trasmettere Big Data ad Azure Synapse Analytics. L'immagine seguente illustra il flusso di lavoro per lo streaming dei dati.

Diagramma che mostra come è possibile connettere Hub eventi, bus di servizio e Griglia di eventi.

Fai riferimento ai seguenti articoli: