Condividi tramite


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

Azure offre tre servizi che facilitano il recapito di eventi o messaggi tramite 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.

Confronto tra eventi e messaggi

È importante tenere presente la differenza 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 una modifica in uno stato e consentono l'intervento. 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 riporta una condizione e gli eventi sono analizzabili. Gli eventi sono ordinati nel tempo e intercorrelati. Il consumer necessita della serie sequenziata di eventi per analizzare ciò che è successo.

Message

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, vengono esaminate rapidamente le funzionalità di Griglia di eventi di Azure, Hub eventi di Azure e Bus di servizio di Azure.

Griglia di eventi di Azure

Griglia di eventi di Azure è un servizio di distribuzione di messaggi pubblicazione-sottoscrizione altamente scalabile e completamente gestito che offre criteri di utilizzo dei 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 guidate dagli eventi.

Il servizio fornisce un backbone eventi che abilita la programmazione reattiva basata su 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 è profondamente integrato con altri servizi di Azure e può essere integrato con servizi di terzi. 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.

Le caratteristiche sono le seguenti:

  • Scalabile dinamicamente
  • Costi contenuti
  • Senza server
  • Recapito at-least-once 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, in locale o nel cloud. Per altre informazioni, vedere Panoramica di Griglia di eventi di Azure e Griglia di eventi in Kubernetes con Azure Arc (anteprima).

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 dati di telemetria ed eventi per svariate infrastrutture di elaborazione di flussi e servizi di analisi. È disponibile come flussi di dati o batch di eventi in bundle. Questo servizio offre una singola soluzione che consente il rapido recupero dei dati per l'elaborazione in tempo reale e la riproduzione ripetuta di 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
  • Recapito at-least-once 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 tradizionali che richiedono transazioni, ordinamento, rilevamento di duplicati e coerenza istantanea. 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 alto valore che non devono andare persi o essere duplicati, usare Bus di servizio di Azure. Questo servizio facilita anche la comunicazione ad elevata sicurezza tra soluzioni cloud ibrido e può connettere sistemi locali esistenti a 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 dei messaggi asincrono affidabile (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, ciò è possibile usando un'operazione di ricezione con polling lungo tramite i protocolli basati su TCP supportati da Bus di servizio.
  • Funzionalità di messaggistica avanzata, ad esempio FIFO (First-In First-Out), invio in batch/sessioni, transazioni, messaggi non recapitabili, controllo temporale, routing e filtri, e rilevamento di duplicati
  • Recapito at-least-once di un messaggio
  • Recapito ordinato dei messaggi opzionale

Per altre informazioni, vedere Panoramica di Bus di servizio.

Confronto dei servizi

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

Service Scopo Type Quando utilizzare
Griglia di eventi Programmazione reattiva Distribuzione di eventi (eventi discreti) Reazione alle modifiche di stato
Hub eventi di 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 Message 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 utilizzo di Griglia di eventi con Hub eventi per eseguire la migrazione di dati in Azure Synapse Analytics, vedere Trasmettere Big Data in Azure Synapse Analytics. L'immagine seguente illustra il flusso di lavoro per lo streaming dei dati.

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

Fai riferimento ai seguenti articoli: