Creare un hub eventi con l'interfaccia della riga di comando di Azure

Completato

Il team decide di usare le funzionalità di Hub eventi di Azure per gestire ed elaborare i volumi di transazioni crescenti provenienti dal sistema.

Un hub eventi è una risorsa di Azure, quindi il primo passaggio consiste nel creare un nuovo hub in Azure e configurarlo per soddisfare gli specifici requisiti delle app.

Che cos'è Hub eventi di Azure?

Hub eventi di Azure è un servizio di elaborazione di eventi basato sul cloud che può ricevere ed elaborare milioni di eventi al secondo. Hub eventi funge da frontdoor per una pipeline di eventi, riceve i dati in ingresso e li archivia finché non sono disponibili risorse di elaborazione.

Un'entità che invia dati all'hub eventi è denominata autore, mentre un'entità che legge i dati da un hub eventi è denominata consumer o sottoscrittore. L'hub eventi si trova tra il server di pubblicazione e il sottoscrittore per dividere la produzione (dal server di pubblicazione) e il consumo (a un sottoscrittore) di un flusso di dati di eventi. Questo disaccoppiamento consente di gestire scenari in cui la velocità di produzione degli eventi è notevolmente superiore rispetto al consumo. L'illustrazione seguente mostra il ruolo di un hub eventi.

An illustration showing an Azure event hub placed between four publishers and two subscribers. The event hub receives multiple events from the publishers, serializes the events into data streams, and makes the data streams available to subscribers.

evento

Un evento è un pacchetto di informazioni di piccole dimensioni (un datagramma) che contiene una notifica. Gli eventi possono essere pubblicati singolarmente o in batch, ma una pubblicazione (singola o in batch) non può superare 1 MB.

Autori e sottoscrittori

Un autore di eventi è qualsiasi app o dispositivo in grado di inviare eventi tramite HTTPS o Advance Message Queueing Protocol (AMQP) 1.0 o Apache Kafka.

  • Per gli autori che inviano dati di frequente, AMQP offre le migliori prestazioni. Tuttavia, presenta un maggiore sovraccarico iniziale per le sessioni, perché è prima necessario configurare un socket bidirezionale persistente e TLS (Transport Layer Security) o SSL/TLS.
  • Per una pubblicazione più intermittente, è preferibile HTTPS. Anche se HTTPS richiede un sovraccarico aggiuntivo per ogni richiesta, non presenta il sovraccarico di inizializzazione della sessione.
  • Hub eventi offre un endpoint compatibile con le API del producer e consumer Apache Kafka che possono essere usate dalla maggior parte delle applicazioni client Apache Kafka esistenti come alternativa all'esecuzione del proprio cluster Apache Kafka. Hub eventi supporta i client producer e consumer di Apache Kafka nella versione 1.0 e successiva. Per altre informazioni, vedere Hub eventi per Apache Kafka.

I sottoscrittori di eventi sono app che usano uno dei due metodi supportati a livello di programmazione per ricevere ed elaborare gli eventi da un hub eventi.

  • EventHubReceiver: un metodo semplice che include opzioni di gestione limitate.
  • EventProcessorHost : metodo efficiente che verrà usato più avanti in questo modulo.

Gruppi di consumer

Un gruppo di consumer di un hub eventi rappresenta una visualizzazione specifica di un flusso di dati dell'hub eventi. Quando si usano gruppi di consumer separati, più app sottoscrittori possono elaborare un flusso di dati degli eventi in modo indipendente e senza influire sulle altre app. Tuttavia, l'uso di molti gruppi di consumer non è un requisito e per molte app il gruppo di consumer predefinito è sufficiente.

Prezzo

Sono disponibili quattro piani tariffari per Hub eventi di Azure: Basic, Standard, Premium e Dedicato. I livelli presentano differenze in termini di connessioni supportate, numero di gruppi di consumer disponibili e velocità effettiva. Quando si usa l'interfaccia della riga di comando di Azure per creare uno spazio dei nomi di Hub eventi, se non si specifica un piano tariffario, viene assegnato il valore predefinito Standard (20 gruppi di consumer, 1000 connessioni negoziate). Per le differenze principali tra questi livelli, vedere Hub eventi di Azure - Prezzi.

Creare e configurare un hub eventi

Esistono due passaggi principali per creare un nuovo hub eventi. Il primo passaggio consiste nel definire lo spazio dei nomi di Hub eventi. Il secondo passaggio consiste nel creare un hub eventi nello spazio dei nomi.

Definire uno spazio dei nomi di Hub eventi

Uno spazio dei nomi di Hub eventi è un contenitore per la gestione di uno o più hub eventi. La creazione di uno spazio dei nomi di Hub eventi comporta in genere la configurazione seguente:

Definire le impostazioni a livello di spazio dei nomi

La capacità dello spazio dei nomi (configurata tramite le unità elaborate per il livello standard), il piano tariffario e le metriche delle prestazioni, sono definite a livello di spazio dei nomi. Queste impostazioni si applicano a tutti gli hub eventi nello spazio dei nomi. Se non si definiscono queste impostazioni, viene usato un valore predefinito: 1 per la capacità e Standard per il piano tariffario.

Tenere presenti gli aspetti seguenti:

  • È necessario bilanciare la configurazione rispetto alle aspettative per il budget di Azure.

  • È possibile valutare la configurazione di diversi hub eventi per differenti requisiti di velocità effettiva. Ad esempio, se si prevedono due hub eventi per un'app che gestisce dati di vendita, può essere opportuno usare uno spazio dei nomi separato per ogni hub.

    Si configura uno spazio dei nomi per la raccolta con velocità effettiva elevata di dati di vendita in tempo reale e uno spazio dei nomi per la raccolta di log eventi non frequente. In questo modo, è sufficiente configurare (e pagare) una capacità di velocità effettiva elevata nell'hub dati di vendita in tempo reale.

    1. Selezionare un nome univoco per lo spazio dei nomi. Lo spazio dei nomi è accessibile tramite questo URL: spazio dei nomi.servicebus.windows.net

    2. Definire le proprietà facoltative seguenti:

      • Imposta la ridondanza della zona per questo spazio dei nomi. La ridondanza della zona replica i dati tra data center distinti con infrastrutture di alimentazione, rete e raffreddamento indipendenti.

      • Abilitare l'aumento automatico delle unità elaborate (livello standard). L'aumento automatico offre un'opzione di aumento automatico aumentando il numero di unità elaborate fino a un valore massimo. Questa opzione è utile per evitare la limitazione delle richieste nelle situazioni in cui le velocità dei dati in ingresso o in uscita superano il numero di unità elaborate attualmente impostato.

Comandi dell'interfaccia della riga di comando di Azure per creare uno spazio dei nomi di Hub eventi

Per creare un nuovo spazio dei nomi di Hub eventi, usare i comandi az eventhubs namespace. Ecco una breve descrizione dei comandi usati nell'esercizio.

Comando Descrizione
create Crea uno spazio dei nomi di Hub eventi.
authorization-rule Tutti gli hub eventi nello stesso spazio dei nomi condividono credenziali di connessione comuni. Queste credenziali sono necessarie quando si configurano le app per inviare e ricevere messaggi usando l'hub eventi. Questo comando restituisce la stringa di connessione per lo spazio dei nomi di Hub eventi.

Configurare un nuovo hub eventi

Dopo aver creato lo spazio dei nomi di Hub eventi, è possibile creare un hub eventi. Quando si crea un hub eventi, esistono diversi parametri obbligatori.

Per creare un hub eventi, sono necessari i parametri seguenti:

  • Nome dell'hub eventi: nome dell'hub eventi univoco all'interno della sottoscrizione e:
    • Deve avere una lunghezza compresa tra 1 e 50 caratteri.
    • Deve contenere solo lettere, numeri, punti, trattini e caratteri di sottolineatura.
    • Deve iniziare e terminare con una lettera o un numero.
  • Numero di partizioni: numero di partizioni necessarie in un hub eventi (compreso tra 2 e 32 per il livello standard). Il numero di partizioni deve essere direttamente correlato al numero previsto di consumer simultanei e non può essere modificato dopo la creazione dell'hub. La partizione separa il flusso dei messaggi, in modo che per le app consumer o ricevitore sia sufficiente leggere uno specifico subset del flusso di dati. Se non è definito, il valore predefinito è 4.
  • Conservazione dei messaggi: numero di giorni (da 1 a 7 per il livello standard) che i messaggi rimangono disponibili se il flusso di dati deve essere riprodotto per qualsiasi motivo. Se non è definito, il valore predefinito è 7.

È anche possibile configurare un hub eventi per trasmettere i dati a un account di Archivio BLOB di Azure o Azure Data Lake Storage.

Comandi dell'interfaccia della riga di comando di Azure per creare un hub eventi

Per creare un nuovo hub eventi con l'interfaccia della riga di comando di Azure, eseguire il az eventhubs eventhub set di comandi. Ecco una breve descrizione dei comandi usati nell'esercizio.

Comando Descrizione
create Crea l'hub eventi in uno spazio dei nomi specificato.
show Visualizza i dettagli dell'hub eventi.

Nota

Per quote e limiti per livelli diversi di Hub eventi, vedere Quote e limiti di Hub eventi di Azure.

Riepilogo

Per distribuire Hub eventi di Azure, è necessario configurare uno spazio dei nomi di Hub eventi e quindi configurare l'hub eventi stesso. Nell'unità successiva vengono illustrati i passaggi dettagliati per creare un nuovo spazio dei nomi e un nuovo hub eventi.