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

Completato

Il team ha deciso di usare le funzionalità di Hub eventi di Azure per gestire ed elaborare i crescenti volumi di transazioni gestiti 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'è l'hub di 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 opera come porta d'ingresso per una pipeline di eventi. Riceve i dati in ingresso e li archivia finché non sono disponibili le 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 è posizionato tra l'autore e il sottoscrittore per dividere la produzione (dall'autore) e l'utilizzo (a un sottoscrittore) di un flusso di dati. Questa separazione consente di gestire scenari in cui il tasso di produzione di eventi è notevolmente superiore al consumo. L'illustrazione seguente mostra il ruolo di un hub eventi.

Illustrazione che mostra un hub eventi di Azure posizionato tra quattro server di pubblicazione e due sottoscrittori. L'hub eventi riceve diversi eventi dai server di pubblicazione, serializza gli eventi in flussi di dati e rende disponibili i flussi di dati ai sottoscrittori.

Eventi

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 - Un 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 distinti, più app sottoscrittore possono elaborare un flusso di 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.

Prezzi

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: 11 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.

    È così possibile configurare uno spazio dei nomi per la raccolta con velocità effettiva elevata dei dati di vendita in tempo reale e uno spazio dei nomi per la raccolta di registri eventi non frequente. In questo modo è sufficiente configurare (e pagare) la capacità con velocità effettiva elevata nell'hub di dati delle vendite 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 il ridimensionamento automatico delle unità elaborate (livello standard). L'aumento automatico offre un'opzione per la scalabilità automatica, 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 che si useranno 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 per configurare le app per inviare e ricevere messaggi tramite 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 alcuni parametri obbligatori.

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

  • Nome hub eventi: nome dell'hub eventi. Deve essere 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 messaggi: numero di giorni (compreso tra 1 e 7 per il livello standard) per cui rimangono disponibili i messaggi,se è necessario riprodurre il flusso dei dati 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, si esegue il set di comandi az eventhubs eventhub. Ecco una breve descrizione dei comandi che si useranno 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 viene esaminata la procedura dettagliata per creare un nuovo spazio dei nomi e un hub eventi.