Een Event Hub maken met de Azure CLI

Voltooid

Uw team besluit om de mogelijkheden van Azure Event Hubs te gebruiken voor het beheren en verwerken van de toenemende transactievolumes die via uw systeem binnenkomen.

Een Event Hub is een Azure-resource, dus uw eerste stap is het maken van een nieuwe hub in Azure en het configureren ervan om te voldoen aan de specifieke vereisten van uw apps.

Wat is Azure Event Hubs?

Azure Event Hubs is een gebeurtenisverwerkingsservice in de cloud die miljoenen gebeurtenissen per seconde kan ontvangen en verwerken. Event Hubs fungeert als voordeur voor een gebeurtenispijplijn, ontvangt binnenkomende gegevens en slaat deze op totdat de verwerkingsbronnen beschikbaar zijn.

Een entiteit die gegevens naar uw Event Hub verzendt, wordt een uitgever genoemd en een entiteit die gegevens van een Event Hub leest, wordt een consument of abonnee genoemd. Uw Event Hub bevindt zich tussen de uitgever en abonnee om de productie (van de uitgever) en het verbruik (naar een abonnee) van een gebeurtenisgegevensstroom te verdelen. Deze ontkoppeling helpt bij het beheren van scenario's waarbij de snelheid van de gebeurtenisproductie aanzienlijk hoger is dan het verbruik. In de volgende afbeelding kunt zien wat de rol van een event hub is.

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.

Gebeurtenissen

Een gebeurtenis is een klein pakket met informatie (een datagram) dat een melding bevat. Gebeurtenissen kunnen afzonderlijk of in batches worden gepubliceerd, maar één publicatie (afzonderlijk of batch) mag niet groter zijn dan 1 MB.

Uitgevers en abonnees

Gebeurtenisuitgevers zijn apps of apparaten die gebeurtenissen kunnen verzenden met HTTPS, Advanced Message Queuing Protocol (AMQP) 1.0 of Apache Kafka.

  • Voor uitgevers die regelmatig gegevens verzenden, heeft AMQP betere prestaties. Het heeft echter een hogere overhead voor de eerste sessie, omdat een permanente bidirectionele socket en transportniveaubeveiliging (TLS) of SSL/TLS eerst moet worden ingesteld.
  • Voor meer onregelmatig publiceren is HTTPS de betere optie. Hoewel HTTPS meer overhead vereist voor elke aanvraag, is er geen overhead voor sessie-initialisatie.
  • Event Hubs biedt een eindpunt dat compatibel is met de Producer- en Consumer-API's van Apache Kafka die door de meeste bestaande Apache Kafka-clienttoepassingen kunnen worden gebruikt als alternatief voor het uitvoeren van uw eigen Apache Kafka-cluster. Event Hubs ondersteunt clients voor producenten- en consumenten-API's van Apache Kafka op versie 1.0 en hoger. Zie Event Hubs voor Apache Kafka voor meer informatie.

Gebeurtenisabonnees zijn apps die gebruikmaken van een van de twee ondersteunde programmatische methoden voor het ontvangen en verwerken van gebeurtenissen van een Event Hub.

  • EventHubReceiver: een eenvoudige methode met beperkte beheeropties.
  • EventProcessorHost : een efficiënte methode die we verderop in deze module gebruiken.

Consumentengroepen

Een consumentengroep van een Event Hub vertegenwoordigt een specifieke weergave van een gegevensstroom van een Event Hub. Wanneer u afzonderlijke consumentengroepen gebruikt, kunnen meerdere abonnee-apps een gebeurtenisgegevensstroom onafhankelijk verwerken en zonder dat dit van invloed is op andere apps. Het gebruik van meerdere consumentengroepen is echter geen vereiste. Voor veel apps is de ene standaardconsumentengroep voldoende.

Prijzen

Er zijn vier prijscategorieën voor Azure Event Hubs: Basic, Standard, Premium en Dedicated. De lagen verschillen in termen van ondersteunde verbindingen, het aantal beschikbare consumentengroepen en de doorvoer. Wanneer u Azure CLI gebruikt om een Event Hubs-naamruimte te maken, wordt de standaard standard (20 consumentengroepen, 1000 brokered verbindingen) toegewezen als u geen prijscategorie opgeeft. Zie Azure Event Hubs - Prijzen voor de belangrijkste verschillen tussen deze lagen.

Een Event Hub maken en configureren

Er zijn twee hoofdstappen voor het maken van een nieuwe Event Hub. De eerste stap is het definiëren van een naamruimte voor de Event Hubs. De tweede stap is het maken van een Event Hub in die naamruimte.

Een Event Hubs-naamruimte definiëren

Een Event Hubs-naamruimte is een container voor het beheren van een of meer Event Hubs. Het maken van een Event Hubs-naamruimte omvat doorgaans de volgende configuratie:

Instellingen op naamruimteniveau definiëren

Naamruimtecapaciteit (geconfigureerd met behulp van doorvoereenheden voor de standard-laag), prijscategorie en metrische prestatiegegevens worden gedefinieerd op naamruimteniveau. Deze instellingen zijn van toepassing op alle Event Hubs binnen die naamruimte. Als u deze instellingen niet definieert, wordt een standaardwaarde gebruikt: 1 voor capaciteit en Standard prijscategorie.

Houd rekening met de volgende aspecten:

  • U moet uw configuratie afwegen tegen de budgetverwachtingen van Azure.

  • U kunt overwegen verschillende Event Hubs te configureren voor verschillende doorvoervereisten. Als u bijvoorbeeld een app voor verkoopgegevens hebt en u van plan bent om twee Event Hubs te gebruiken, is het zinvol om een afzonderlijke naamruimte voor elke hub te gebruiken.

    U configureert één naamruimte voor het verzamelen van hoge doorvoer van realtime verkoopgegevens en één naamruimte voor onregelmatige verzameling van gebeurtenislogboeken. Op deze manier hoeft u alleen een hoge doorvoercapaciteit te configureren (en te betalen voor) op de realtime verkoopgegevenshub.

    1. Selecteer een unieke naam voor de naamruimte. De naamruimte is toegankelijk via deze URL: namespace.servicebus.windows.net

    2. Definieer de volgende optionele eigenschappen:

      • Deze naamruimte zoneredundant maken. Zoneredundantie repliceert gegevens in afzonderlijke datacenters, die onafhankelijke energie-, netwerk- en koelinfrastructuren hebben.

      • Schakel het automatisch omhoog schalen van doorvoereenheden (standard-laag) in. Automatisch vergroten biedt een optie voor automatisch omhoog schalen door het aantal doorvoereenheden tot een maximumwaarde te verhogen. Dit is handig om beperkingen in situaties te voorkomen waarin inkomende of uitgaande gegevenssnelheden groter zijn dan het huidig ingestelde aantal doorvoereenheden.

Azure CLI-opdrachten voor het maken van een Event Hubs-naamruimte

Als u een nieuwe Event Hubs-naamruimte wilt maken, gebruikt u az eventhubs namespace opdrachten. Hier volgt een korte beschrijving van de opdrachten die we in de oefening gebruiken.

Opdracht Beschrijving
create Hiermee maakt u een Event Hubs-naamruimte.
authorization-rule Alle Event Hubs binnen dezelfde naamruimte delen algemene verbindingsreferenties. U hebt deze referenties nodig wanneer u apps configureert voor het verzenden en ontvangen van berichten met behulp van de Event Hub. Met deze opdracht wordt de verbindingsreeks voor uw Event Hubs-naamruimte geretourneerd.

Een nieuwe Event Hub configureren

Nadat u een Event Hubs-naamruimte hebt gemaakt, kunt u een Event Hub maken. Wanneer u een Event Hub maakt, zijn er verschillende verplichte parameters.

De volgende parameters zijn vereist om een Event Hub te maken:

  • Event Hub-naam : een Event Hub-naam die uniek is binnen uw abonnement en:
    • Ligt tussen de 1 en 50 tekens.
    • Bevat alleen letters, cijfers, punten, afbreekstreepjes en onderstrepingstekens.
    • Begint en eindigt met een letter of cijfer.
  • Aantal partities: het aantal partities dat is vereist in een Event Hub (tussen 2 en 32 voor de standard-laag). Het aantal partities moet rechtstreeks zijn gerelateerd aan het verwachte aantal gelijktijdige consumenten en kan niet worden gewijzigd nadat de hub is gemaakt. De partitie scheidt de berichtstroom, zodat apps voor consumenten of ontvangers alleen een specifieke subset van de gegevensstroom hoeven te lezen. Als deze niet is gedefinieerd, wordt de waarde standaard ingesteld op 4.
  • Bewaarperiode van berichten: het aantal dagen (1 tot 7 voor de standard-laag) dat berichten beschikbaar blijven als de gegevensstroom om welke reden dan ook opnieuw moet worden afgespeeld. Als deze optie niet is gedefinieerd, wordt deze waarde standaard ingesteld op 7.

U kunt desgewenst ook een Event Hub configureren om gegevens te streamen naar Azure Blob Storage of een Azure Data Lake Storage.

Azure CLI-opdrachten voor het maken van een Event Hub

Als u een nieuwe Event Hub wilt maken met de Azure CLI, voert u de az eventhubs eventhub opdrachtenset uit. Hier volgt een korte beschrijving van de opdrachten die we in de oefening gebruiken.

Opdracht Beschrijving
create Hiermee maakt u de Event Hub in een opgegeven naamruimte.
show Geeft de details van uw Event Hub weer.

Notitie

Zie Azure Event Hubs-quota en -limieten voor quota en limieten voor verschillende lagen van Event Hubs voor quota en limieten.

Samenvatting

Als u Azure Event Hubs wilt implementeren, moet u een Event Hubs-naamruimte configureren en vervolgens de Event Hub zelf configureren. In de volgende les doorloopt u de gedetailleerde stappen voor het maken van een nieuwe naamruimte en Event Hub.