Škálování s Event Hubs
Existují dva faktory, které ovlivňují škálování pomocí Event Hubs.
- Jednotky propustnosti (úroveň Standard) nebo jednotky zpracování (úroveň Premium)
- Oddíly
Jednotky propustnosti
Kapacita propustnosti pro Event Hubs je řízena jednotkami propustnosti. Jednotky propustnosti jsou předem zakoupené jednotky kapacity. Jedna propustnost umožňuje:
- Příchozí přenos dat: Až 1 MB za sekundu nebo 1 000 událostí za sekundu (podle toho, co nastane dřív).
- Egress: Až 2 MB za sekundu nebo 4096 událostí za sekundu.
Nad rámec kapacity zakoupených jednotek propustnosti je příjem příchozích dat omezen a vrátí se výjimka ServerBusyException. Odchozí data nezpůsobují takové výjimky, ale jsou omezená na objem přenosu dat, který poskytují zakoupené jednotky propustnosti. Pokud se vám objevují výjimky související s frekvencí publikování nebo v budoucnu očekáváte větší objem odchozích dat, zkontrolujte, kolik jednotek propustnosti jste pro konkrétní obor názvů zakoupili. Ke správě jednotek propustnosti můžete využít okno Škálování oboru názvů na webu Azure Portal. Jednotky propustnosti můžete také spravovat programově pomocí rozhraní EVENT HUBS API.
Jednotky propustnosti jsou předem zakoupené a fakturuje se za hodinu. Zakoupené jednotky propustnosti se účtují minimálně za jednu hodinu. Pro obor názvů služby je možné zakoupit až 40 jednotek propustnosti Event Hubs jsou sdíleny ve všech centrech událostí v tomto oboru názvů.
Funkce automatického nafouknutí Event Hubs automaticky škáluje nahoru zvýšením počtu jednotek propustnosti, aby splňovala potřeby využití. Zvýšení počtu jednotek propustnosti zabraňuje scénářům omezování, ve kterých:
- Rychlost příchozího přenosu dat překračuje nastavené jednotky propustnosti.
- Frekvence požadavků na výchozí přenos dat překračuje nastavené jednotky propustnosti.
Služba Event Hubs propustnost při zvýšení zatížení nad minimální prahovou hodnotu, aniž by došlo k selhání požadavků s chybami ServerBusy.
Další informace o funkci automatického nafouknutí najdete v tématu Automatické škálování jednotek propustnosti.
Jednotky zpracování
Event Hubs Premium poskytuje vynikající výkon a lepší izolaci s ve spravovaném vícetenantém prostředí PaaS. Prostředky ve vrstvě Premium jsou izolované na úrovni procesoru a paměti, takže každá úloha tenanta běží izolovaně. Tento kontejner prostředků se nazývá jednotka zpracování(PU). Pro každý obor názvů si můžete zakoupit 1, 2, 4, 8 nebo 16 Event Hubs Premium jednotek.
To, kolik můžete ingestovat a streamovat pomocí jednotky zpracování, závisí na různých faktorech, jako jsou producenti, spotřebitelé, rychlost, s jakou ingestujte a zpracováváte, a mnoho dalšího. Jedna procesorová jednotka může nabídnout kapacitu jádra přibližně 5–10 MB/s příchozího přenosu dat a 10–20 MB/s příchozího přenosu dat, protože máme dostatek oddílů, aby úložiště nebylo faktorem omezování.
Další informace o konfiguraci jednotek PU pro obor názvů úrovně Premium najdete v tématu Konfigurace jednotek zpracování.
Poznámka
Další informace o kvótách a omezeních najdete v tématu Azure Event Hubs – kvótya omezení.
Oddíly
Event Hubs uspořádá sekvence událostí odeslané do centra událostí do jednoho nebo více oddílů. Jakmile přijdete o novější události, přidají se na konec této sekvence.

Oddíl lze představit jako "potvrzovací protokol". Oddíly uchovávají data událostí, která obsahují tělo události, uživatelem definovaný kontejner vlastností popisující událost, metadata, jako je jeho posun v oddílu, jeho číslo v posloupnosti datových proudů a časové razítko na straně služby, na kterém byla přijata.

Výhody používání oddílů
Event Hubs je navržená tak, aby pomáhala při zpracování velkých objemů událostí, a pomáhá s nimi dvěma způsoby:
- I když Event Hubs je služba PaaS, existuje fyzická realita a udržuje protokol, který zachovává pořadí událostí, vyžaduje, aby se tyto události zachovaly společně v podkladovém úložišti a jeho replikách a aby výsledkem byl limit propustnosti pro takový protokol. Vytváření oddílů umožňuje používat pro stejné centrum událostí více paralelních protokolů a vynásobit dostupnou nezpracované propustnosti v/v.
- Vaše vlastní aplikace musí být schopné udržet se zpracováním objemu událostí, které se odesílají do centra událostí. Může být komplexní a vyžaduje značnou kapacitu paralelního zpracování škálované na více instancí. Kapacita jednoho procesu pro zpracování událostí je omezená, takže potřebujete několik procesů. Oddíly představují způsob, jakým vaše řešení tyto procesy doručí, a ještě zajišťuje, aby každá událost měla jasného vlastníka zpracování.
Počet oddílů
Počet oddílů se zadává v době vytváření centra událostí. Hodnota musí být mezi 1 a maximálním počtem oddílů povoleným pro jednotlivé cenové úrovně. Omezení počtu oddílů pro jednotlivé úrovně najdete v tomto článku.
Doporučujeme, abyste si zvolili aspoň tolik oddílů, kolik jich očekáváte, a to při špičkovém zatížení vaší aplikace pro konkrétní centrum událostí. Počet oddílů centra událostí po jeho vytvoření nemůžete změnit, s výjimkou centra událostí ve vyhrazeném clusteru a na úrovni Premium. Počet oddílů centra událostí ve vyhrazeném Event Hubs clusteru se dá po vytvoření centra událostí zvýšit , ale distribuce datových proudů napříč oddíly se v době, kdy se provedla, změní na změny oddílů oddílů na oddíly. proto byste se měli pokusit, abyste se těmto změnám vyhnuli, pokud se jedná o relativní pořadí událostí ve vaší aplikaci.
Nastavení počtu oddílů na maximální povolenou hodnotu se měří, ale vždy mějte na paměti, že datové proudy událostí musí být strukturované, aby bylo možné využít více oddílů. Pokud potřebujete zachování absolutního pořadí napříč všemi událostmi nebo jenom několik podproudy, možná nebudete moct využít mnoho oddílů. Mnoho oddílů navíc usnadňuje zpracování na straně sebe složitější.
Nezáleží na tom, kolik oddílů je v centru událostí, když přichází na ceny. Závisí na počtu cenových jednotek (jednotky propustnosti (počet propustnosti) pro úroveň Standard, zpracování jednotek (PUs) pro úroveň Premium a na vyhrazené úrovni (kapacitní jednotky) pro obor názvů nebo vyhrazený cluster. Například centrum událostí úrovně Standard s 32 oddíly nebo s 1 oddílem vznikne přesně stejné náklady, pokud je obor názvů nastavený na 1 část kapacity. Můžete také škálovat počet propustnosti nebo PUs na svůj obor názvů nebo kapacitní jednotky vyhrazený cluster nezávisle na počtu oddílů.
Mapování událostí na oddíly
Klíč oddílu můžete použít k mapování příchozích dat událostí do konkrétních oddílů pro účely organizace dat. Klíč oddílu je hodnota zadaná odesílatelem, která byla předaná do centra událostí. Zpracovává se pomocí statické hashovací funkce, která vytvoří přiřazení k oddílu. Pokud při publikování události nezadáte klíč oddílu, použije se přiřazení metodou kruhového dotazování.
Zdroj události zná jenom svůj klíč oddílu, a ne oddíl, do kterého se události publikují. Díky tomuto oddělení klíče a oddílu odesílatel toho nepotřebuje vědět o zpracování příjmu dat příliš mnoho. Vhodným klíčem oddílu je jedinečná identita uživatele nebo zařízení, ale k seskupení souvisejících událostí do jednoho oddílu je možné použít i další atributy, například geografickou polohu.
Zadání klíče oddílu umožňuje udržovat související události společně ve stejném oddílu a v přesném pořadí, ve kterém byly přijaty. Klíč oddílu je řetězec, který je odvozen z kontextu vaší aplikace a identifikuje vzájemné vztahy událostí. Posloupnost událostí identifikovaných klíčem oddílu je datový proud. Oddíl je multiplexované úložiště protokolu pro mnoho takových datových proudů.
Poznámka
I když můžete odesílat události přímo do oddílů, nedoporučujeme ji, zejména v případě, že je pro vás důležitá vysoká dostupnost. Odchází z dostupnosti centra událostí na úrovni oddílů. Další informace najdete v tématu dostupnost a konzistence.
Další kroky
Další informace o službě Event Hubs najdete na následujících odkazech: