Volba služby Azure Event Hubs
Existují určité aplikace, které vytvářejí obrovský počet událostí z téměř tolik zdrojů. Často slyšíme termín "Velké objemy dat" použitý v těchto situacích a k jejich zpracování vyžadují jedinečnou infrastrukturu.
Představte si, že pracujete pro letecké motory Contoso. Motory, které váš zaměstnavatel vyrábí, mají stovky senzorů. Než může letadlo každé ráno vzlétnout, jeho motory musí být napojeny na testovací zařízení a projít zkouškou. Kromě toho se data uložená v letové mezipaměti streamují, když je letadlo připojeno k pozemnímu vybavení.
Chcete použít historická data snímačů k vyhledání vzorů ve čtení snímačů, které indikují, že k selhání motoru pravděpodobně dojde brzy. Chcete, aby se hodnoty snímačů v reálném čase porovnávaly s těmito vzory selhání. Uživatele pak můžete varovat téměř v reálném čase, pokud motor zobrazuje znepokojivé hodnoty.
Co je Azure Event Hubs?
Event Hubs je zprostředkovatel pro komunikační vzor publikování-odběr. Na rozdíl od event Griduje ale optimalizovaná pro extrémně vysokou propustnost, velký počet vydavatelů, zabezpečení a odolnost.
Zatímco Event Grid dokonale zapadá do vzoru publikování a odběru v tom, že jednoduše spravuje odběry a směruje komunikaci s těmito odběrateli, Služba Event Hubs provádí poměrně několik dalších služeb. Díky těmto dalším službám vypadá spíše jako služební sběrnice nebo fronta zpráv než jednoduchý vysílač událostí.
Oddíly
Když služba Event Hubs přijímá komunikaci, rozdělí je do oddílů. Oddíly jsou vyrovnávací paměti, do kterých se komunikace ukládá. Vzhledem k vyrovnávacím pamětím událostí nejsou události dočasné a událost není zmeškaná jenom proto, že odběratel je zaneprázdněný nebo dokonce offline. Odběratel může vždy použít vyrovnávací paměť k "zachycení". Ve výchozím nastavení zůstanou události ve vyrovnávací paměti po dobu 24 hodin, než automaticky vyprší jejich platnost. Bufferové paměti se nazývají oddíly, protože data jsou rozdělena mezi ně. Každý oddíl má samostatný soubor odběratelů.
Zajmout
Event Hubs může okamžitě odesílat všechny události do Azure Data Lake nebo Azure Blob Storage pro levné, trvalé uchovávání.
Autentizace
Všichni vydavatelé jsou ověřeni a je jim vydán token. To znamená, že Služba Event Hubs může přijímat události z externích zařízení a mobilních aplikací, aniž by se museli obávat, že podvodná data od prankerů by mohla zničit vaši analýzu.
Použití služby Event Hubs
Event Hubs podporuje kanálování datových proudů událostí do jiných služeb Azure. Použití s Azure Stream Analytics například umožňuje komplexní analýzu dat téměř v reálném čase s možností korelovat více událostí a hledat vzory. V tomto případě by se služba Stream Analytics považovala za odběratele.
Pro naše letecké motory nastavíme architekturu tak, aby služba Event Hubs ověřila komunikaci z našich motorů. Pak použijeme zachycení pro uložení všech dat do Data Lake. Později můžeme všechna tato data použít k opětovnému natrénování a vylepšování našich modelů strojového učení. Nakonec odběratelé Stream Analytics zachytí naše streamy událostí. Stream Analytics používá náš model strojového učení k vyhledání vzorů v datech snímačů, které můžou značit problémy.
Vzhledem k tomu, že máme několik oddílů a každý modul odesílá všechna data jenom do jednoho oddílu, každá instance odběratele Stream Analytics se musí zabývat pouze podmnožinou našich celkových dat. Nemusí filtrovat a korelovat přes všechny.
Kterou službu mám zvolit?
Stejně jako naše volba fronty může být výběr mezi těmito dvěma službami pro doručování událostí zpočátku komplikovaný. Obě podporují alespoň jednou sémantiku.
Zvolte Event Hubs, pokud:
- Potřebujete podporovat ověřování velkého počtu vydavatelů.
- Potřebujete uložit datový proud událostí do Data Lake nebo Blob Storage.
- Potřebujete agregaci nebo analýzu událostí.
- Potřebujete spolehlivé zasílání zpráv nebo odolnost.
Jinak pokud potřebujete jednoduchou infrastrukturu publikování a odběru událostí s důvěryhodnými vydavateli (například vlastní webový server), měli byste zvolit Event Grid.
Služba Event Hubs umožňuje vytvořit kanál pro velké objemy dat, který dokáže zpracovat miliony událostí za sekundu s nízkou latencí. Dokáže zpracovávat data ze souběžných zdrojů a směrovat je do různých infrastruktur zpracování datových proudů a analytických služeb. Umožňuje zpracování v reálném čase a podporuje opakované přehrání uložených nezpracovaných dat.