Vytvořit centrum událostí pomocí Azure CLI

Dokončeno

Váš tým se rozhodne používat funkce služby Azure Event Hubs ke správě a zpracování rostoucích objemů transakcí přicházejících přes váš systém.

Centrum událostí je prostředek Azure, takže vaším prvním krokem je vytvoření nového centra v Azure a jeho konfigurace tak, aby splňovala konkrétní požadavky vašich aplikací.

Co je služba Azure Event Hubs?

Azure Event Hubs je cloudová služba pro zpracování událostí, která přijímá a zpracovává miliony událostí za sekundu. Event Hubs funguje jako front door pro kanál událostí, přijímá příchozí data a ukládá tato data, dokud nebudou k dispozici prostředky zpracování.

Entita, která odesílá data do centra událostí, se nazývá vydavatel a entita, která čte data z centra událostí, se nazývá příjemce nebo odběratel. Vaše centrum událostí se nachází mezi vydavatelem a odběratelem, aby rozdělilo produkci (od vydavatele) a spotřebu (odběrateli) datového streamu událostí. Toto oddělení pomáhá spravovat scénáře, ve kterých je míra produkce událostí výrazně vyšší než spotřeba. Následující obrázek ukazuje roli centra událostí.

Obrázek znázorňující centrum událostí Azure umístěné mezi čtyřmi vydavateli a dvěma odběrateli Centrum událostí přijímá více událostí od vydavatelů, serializuje události do datových proudů a zpřístupňuje datové proudy odběratelům.

Události

Událost je malý paket informací (datagram), který obsahuje oznámení. Události je možné publikovat jednotlivě nebo v dávkách, ale jedna publikace (jednotlivá nebo dávková) nesmí překročit 1 MB.

Vydavatelé a odběratelé

Vydavatelé událostí jsou libovolná aplikace nebo zařízení, která můžou odesílat události pomocí protokolu HTTPS, protokolu AMQP (Advanced Message Queuing Protocol) 1.0 nebo Apache Kafka.

  • U vydavatelů, kteří často odesílají data, má AMQP lepší výkon. Má však vyšší režii při počáteční relaci, protože nejprve musí být nastaven trvalý obousměrný soket a zabezpečení na úrovni přenosu (TLS) nebo SSL/TLS.
  • Pro přerušované publikování je lepší volbou https . I když HTTPS vyžaduje pro každý požadavek větší režii, nedochází k žádné režii při inicializaci relace.
  • Služba Event Hubs poskytuje koncový bod kompatibilní s rozhraními API pro producenta a příjemce Apache Kafka , které může většina existujících klientských aplikací Apache Kafka používat jako alternativu ke spuštění vlastního clusteru Apache Kafka. Event Hubs podporuje klienty rozhraní API pro producenta a příjemce Apache Kafka ve verzi 1.0 a vyšší. Další informace najdete v tématu Event Hubs pro Apache Kafka.

Odběratelé událostí jsou aplikace, které k přijímání a zpracování událostí z centra událostí používají jednu ze dvou podporovaných programových metod.

  • EventHubReceiver – jednoduchá metoda, která nabízí omezené možnosti správy.
  • EventProcessorHost – efektivní metoda, kterou použijeme později v tomto modulu.

Skupiny uživatelů

Skupina uživatelů centra událostí představuje konkrétní zobrazení datového streamu z centra událostí. Když používáte samostatné skupiny příjemců, může několik aplikací odběratelů zpracovávat datový proud událostí nezávisle a bez ovlivnění jiných aplikací. Použití mnoha skupin uživatelů ale není povinné. U mnoha aplikací stačí jedna výchozí skupina uživatelů.

Ceny

Azure Event Hubs má čtyři cenové úrovně: Basic, Standard, Premium a Dedicated. Úrovně se liší z hlediska podporovaných připojení, počtu dostupných skupin příjemců a propustnosti. Pokud k vytvoření oboru názvů služby Event Hubs používáte Azure CLI, přiřadí se výchozí úroveň Standard (20 skupin příjemců, 1000 zprostředkovaných připojení). Hlavní rozdíly mezi těmito úrovněmi najdete v tématu Azure Event Hubs – ceny.

Vytvoření a konfigurace centra událostí

K vytvoření nového centra událostí existují dva hlavní kroky. Prvním krokem je definování oboru názvů služby Event Hubs. Druhým krokem je vytvoření centra událostí v tomto oboru názvů.

Definování oboru názvů služby Event Hubs

Obor názvů služby Event Hubs je kontejner pro správu jednoho nebo více center událostí. Vytvoření oboru názvů služby Event Hubs obvykle zahrnuje následující konfiguraci:

Definování nastavení na úrovni oboru názvů

Kapacita oboru názvů (nakonfigurovaná pomocí jednotek propustnosti pro úroveň Standard), cenová úroveň a metriky výkonu jsou definovány na úrovni oboru názvů. Tato nastavení platí pro všechna centra událostí v rámci tohoto oboru názvů. Pokud tato nastavení nedefinujete, použije se výchozí hodnota: 1 pro kapacitu a Standard cenovou úroveň.

Mějte na paměti následující aspekty:

  • Vaše konfigurace musí být v rovnováze s předpokládaným rozpočtem na Azure.

  • Pro různé požadavky na propustnost proto možná budete chtíti vytvořit jiná centra událostí. Pokud máte například aplikaci s daty o prodeji a plánujete dvě centra událostí, měli byste pro každé centrum použít samostatný obor názvů.

    Nakonfigurujete jeden obor názvů pro shromažďování dat prodeje v reálném čase a jeden obor názvů pro občasné shromažďování protokolů událostí. Tímto způsobem stačí nakonfigurovat (a platit) vysokou propustnost v datovém centru prodeje v reálném čase.

    1. Vyberte pro obor názvů jedinečný název. Obor názvů je přístupný na této adrese URL: obor_názvů.servicebus.windows.net.

    2. Definujte následující volitelné vlastnosti:

      • Nastavit pro tento obor názvů zónovou redundanci. Zónová redundance replikuje data mezi samostatnými datovými centry, která mají nezávislou infrastrukturu napájení, sítě a chlazení.

      • Povolte automatické vertikální navýšení kapacity jednotek propustnosti (úroveň Standard). Automatické rozšíření poskytuje možnost automatického vertikálního navýšení kapacity zvýšením počtu jednotek propustnosti až na maximální hodnotu. Tato možnost je užitečná, když chcete předejít omezení využití sítě v situacích, kdy příchozí nebo odchozí data překračují aktuálně nastavené počty jednotek propustnosti.

Příkazy Azure CLI pro vytvoření oboru názvů služby Event Hubs

Pokud chcete vytvořit nový obor názvů služby Event Hubs, použijte az eventhubs namespace příkazy. Tady je stručný popis příkazů, které používáme ve cvičení.

Příkaz Popis
create Vytvoří obor názvů služby Event Hubs.
authorization-rule Všechna centra událostí v rámci stejného oboru názvů sdílejí společné přihlašovací údaje pro připojení. Tyto přihlašovací údaje budete potřebovat při konfiguraci aplikací pro odesílání a příjem zpráv pomocí centra událostí. Tento příkaz vrací připojovací řetězec pro váš obor názvů služby Event Hubs.

Konfigurace nového centra událostí

Po vytvoření oboru názvů služby Event Hubs můžete vytvořit centrum událostí. Při vytváření centra událostí existuje několik povinných parametrů.

Následující parametry jsou při vytvoření centra událostí povinné:

  • Název centra událostí – název centra událostí, který je jedinečný v rámci vašeho předplatného, a:
    • Je mezi 1 a 50 znaky.
    • Obsahuje jenom písmena, číslice, tečky, spojovníky a podtržítka.
    • Začíná a končí písmenem nebo číslicí.
  • Počet oddílů – počet oddílů požadovaných v centru událostí (mezi 2 a 32 pro úroveň Standard). Počet oddílů by měl přímo souviset s očekávaným počtem souběžných příjemců a po vytvoření centra se nedá změnit. Oddíl odděluje stream zpráv, aby uživatelské neboli příjímací aplikace mohly číst jenom specifickou podmnožinu datového streamu. Pokud není definovaná, výchozí hodnota je 4.
  • Uchovávání zpráv – počet dnů (1 až 7 pro úroveň Standard), které zprávy zůstanou dostupné, pokud je potřeba datový proud z nějakého důvodu přehrát. Pokud není definovaná jiná hodnota, výchozí hodnota je 7.

Volitelně můžete také nakonfigurovat centrum událostí pro streamování dat do Azure Blob Storage nebo Azure Data Lake Storage.

Příkazy Azure CLI pro vytvoření centra událostí

Pokud chcete vytvořit nové centrum událostí pomocí Azure CLI, spusťte az eventhubs eventhub sadu příkazů. Tady je stručný popis příkazů, které používáme ve cvičení.

Příkaz Popis
create Vytvoří centrum událostí v zadaném oboru názvů.
show Zobrazí podrobnosti centra událostí.

Poznámka:

Kvóty a omezení pro různé úrovně služby Event Hubs najdete v tématu Kvóty a limity služby Azure Event Hubs.

Shrnutí

Pokud chcete nasadit službu Azure Event Hubs, musíte nakonfigurovat obor názvů služby Event Hubs a pak nakonfigurovat samotné centrum událostí. V další lekci si projdete podrobný postup vytvoření nového oboru názvů a centra událostí.