Skapa en händelsehubb med hjälp av Azure CLI
Ditt team fattar ett beslut om att använda funktionerna i Azure Event Hubs för att hantera och bearbeta de ökande transaktionsvolymer som kommer genom systemet.
En händelsehubb är en Azure-resurs, så ditt första steg är att skapa en ny hubb i Azure och konfigurera den så att den uppfyller de specifika kraven för dina appar.
Vad är Azure Event Hubs?
Azure Event Hubs är en molnbaserad händelsebearbetningstjänst som kan ta emot och bearbeta flera miljoner händelser per sekund. Event Hubs fungerar som en ytterdörr för en händelsepipeline, den tar emot inkommande data och lagrar dessa data tills bearbetningsresurser är tillgängliga.
En entitet som skickar data till din händelsehubb kallas utgivare och en entitet som läser data från en händelsehubb kallas för konsument eller prenumerant. Din händelsehubb finns mellan utgivaren och prenumeranten för att dela upp produktionen (från utgivaren) och förbrukningen (till en prenumerant) av en händelsedataström. Den här avkopplingen hjälper till att hantera scenarier där händelseproduktionen är betydligt högre än förbrukningen. Här är en bild som visar rollen för en händelsehubb:
Händelser
En händelse är ett litet paket med information (ett datagram) som innehåller ett meddelande. Händelser kan publiceras individuellt eller i batchar, men en enskild publikation (enskild eller batch) får inte överstiga 1 MB.
Utgivare och prenumeranter
Händelseutgivare är alla appar eller enheter som kan skicka ut händelser med hjälp av ANTINGEN HTTPS, AMQP (Advanced Message Queuing Protocol) 1.0 eller Apache Kafka.
- För utgivare som skickar data ofta har AMQP bättre prestanda. Den har dock en högre initial sessionskostnad eftersom en beständig dubbelriktad socket och säkerhet på transportnivå (TLS) eller SSL/TLS måste konfigureras först.
- För mer tillfällig publicering är HTTPS det bättre alternativet. Även om HTTPS kräver mer omkostnader för varje begäran, finns det inga kostnader för sessionsinitiering.
- Event Hubs tillhandahåller en slutpunkt som är kompatibel med Apache Kafka-producent - och konsument-API:er som kan användas av de flesta befintliga Apache Kafka-klientprogram som ett alternativ till att köra ditt eget Apache Kafka-kluster. Event Hubs stöder Apache Kafkas producent- och konsument-API:er på version 1.0 och senare. Mer information finns i Event Hubs för Apache Kafka.
Händelseprenumeranter är appar som använder en av två programmatiska metoder som stöds för att ta emot och bearbeta händelser från en händelsehubb.
- EventHubReceiver – en enkel metod som ger obegränsade hanteringsalternativ.
- EventProcessorHost – en effektiv metod som vi använder senare i den här modulen.
Konsumentgrupper
En konsumentgrupp för händelsehubbar representerar en specifik vy över en händelsehubbdataström. När du använder separata konsumentgrupper kan flera prenumerantappar bearbeta en händelsedataström oberoende av varandra och utan att påverka andra appar. Användningen av flera konsumentgrupper är dock inte ett krav, och för många appar räcker det med en standardkonsumentgrupp.
Prissättning
Det finns fyra prisnivåer för Azure Event Hubs: Basic, Standard, Premium och Dedicated. Nivåerna skiljer sig åt när det gäller anslutningar som stöds, antalet tillgängliga konsumentgrupper och dataflödet. När du använder Azure CLI för att skapa ett Event Hubs-namnområde tilldelas standardstandarden (20 konsumentgrupper, 1 000 asynkrona anslutningar) om du inte anger någon prisnivå. De största skillnaderna mellan dessa nivåer finns i Azure Event Hubs – Prissättning.
Skapa och konfigurera en händelsehubb
Det finns två huvudsakliga steg för att skapa en ny händelsehubb. Det första steget är att definiera Event Hubs-namnrymden. Det andra steget är att skapa en händelsehubb i den namnrymden.
Definiera en Event Hubs-namnrymd
Ett Event Hubs-namnområde är en container för hantering av en eller flera händelsehubbar. Skapandet av en Event Hubs-namnrymd omfattar normalt följande konfiguration:
Definiera inställningar på namnrymdsnivå
Namnområdeskapacitet (konfigurerad med hjälp av dataflödesenheter för standardnivån), prisnivå och prestandamått definieras på namnområdesnivå. De här inställningarna gäller för alla händelsehubbar i namnområdet. Om du inte definierar de här inställningarna används ett standardvärde: 1
för kapacitet och Standard
prisnivå.
Tänk på följande aspekter:
Du måste balansera konfigurationen mot dina Azure-budgetförväntningar.
Du kan överväga att konfigurera olika händelsehubbar för olika dataflödeskrav. Om du till exempel har en försäljningsdataapp och planerar för två händelsehubbar är det klokt att använda ett separat namnområde för varje hubb.
Du konfigurerar ett namnområde för insamling med högt dataflöde av försäljningsdata i realtid och ett namnområde för sällan förekommande insamling av händelseloggar. På så sätt behöver du bara konfigurera (och betala för) hög dataflödeskapacitet på datahubben för försäljning i realtid.
Välj ett unikt namn för namnrymden. Du kommer åt namnrymden via följande URL: namnrymd.servicebus.windows.net
Definiera följande valfria egenskaper:
Gör den här namnrymdszonen redundant. Zonredundans replikerar data över separata datacenter, som har oberoende infrastrukturer för ström, nätverk och kylning.
Aktivera automatisk skalning av dataflödesenheter (standardnivå). Autoinflate ger ett alternativ för automatisk uppskalning genom att öka antalet dataflödesenheter upp till ett maximalt värde. Det här alternativet är användbart för att undvika begränsning i situationer när inkommande eller utgående datahastigheter överskrider det angivna antalet dataflödesenheter.
Azure CLI-kommandon för att skapa en Event Hubs-namnrymd
Om du vill skapa ett nytt Event Hubs-namnområde använder du az eventhubs namespace
kommandon. Här är en kort beskrivning av de kommandon som vi använder i övningen.
Kommando | beskrivning |
---|---|
create |
Skapar ett Event Hubs-namnområde. |
authorization-rule |
Alla händelsehubbar inom samma namnområde delar gemensamma autentiseringsuppgifter för anslutningen. Du behöver dessa autentiseringsuppgifter när du konfigurerar appar för att skicka och ta emot meddelanden med hjälp av händelsehubben. Det här kommandot returnerar anslutningssträngen för din Event Hubs-namnrymd. |
Konfigurera en ny händelsehubb
När du har skapat ett Event Hubs-namnområde kan du skapa en händelsehubb. När du skapar en händelsehubb finns det flera obligatoriska parametrar.
Följande parametrar krävs för att skapa en händelsehubb:
- Namn på händelsehubb – ett händelsehubbnamn som är unikt i din prenumeration och:
- Är mellan 1 och 50 tecken.
- innehåller endast bokstäver, siffror, punkter, bindestreck och understreck
- börjar och slutar med en bokstav eller siffra.
- Antal partitioner – antalet partitioner som krävs i en händelsehubb (mellan 2 och 32 för standardnivån). Antalet partitioner ska vara direkt relaterat till det förväntade antalet samtidiga konsumenter och kan inte ändras när hubben har skapats. Partitionen separerar meddelandeströmmen så att konsument- eller mottagarappar endast behöver läsa en specifik delmängd av dataströmmen. Om värdet inte har definierats är standardvärdet 4.
- Kvarhållning av meddelanden – Antalet dagar (1 till 7 för standardnivån) som meddelanden förblir tillgängliga om dataströmmen av någon anledning behöver spelas upp igen. Om detta inte definieras får värdet standardinställningen 7.
Du kan också konfigurera en händelsehubb för att strömma data till Azure Blob Storage eller en Azure Data Lake Storage.
Azure CLI-kommandon för att skapa en händelsehubb
Om du vill skapa en ny händelsehubb med Azure CLI kör du kommandouppsättningen az eventhubs eventhub
. Här är en kort beskrivning av de kommandon som vi använder i övningen.
Kommando | beskrivning |
---|---|
create |
Skapar händelsehubben i ett angivet namnområde. |
show |
Visar information om din händelsehubb. |
Kommentar
Kvoter och gränser för olika nivåer av Event Hubs finns i kvoter och gränser för Azure Event Hubs.
Sammanfattning
Om du vill distribuera Azure Event Hubs måste du konfigurera ett Event Hubs-namnområde och sedan konfigurera själva händelsehubben. I nästa lektion går du igenom de detaljerade stegen för att skapa ett nytt namnområde och en ny händelsehubb.