Azure Event Hubs: Platforma pro streamování dat v reálném čase s nativní podporou Apache Kafka
Azure Event Hubs je nativní služba streamování dat v cloudu, která může streamovat miliony událostí za sekundu s nízkou latencí z libovolného zdroje do libovolného cíle. Služba Event Hubs je kompatibilní s Apache Kafka. Umožňuje spouštět existující úlohy Kafka bez jakýchkoli změn kódu.
Firmy můžou službu Event Hubs používat k ingestování a ukládání streamovaných dat. Díky streamovaným datům můžou firmy získat cenné přehledy, řídit analýzy v reálném čase a reagovat na události, jak se to stane. Tato data můžou využít k vylepšení celkové efektivity a zkušeností zákazníků.
Event Hubs je upřednostňovaná vrstva příjmu událostí jakéhokoli řešení streamování událostí, které vytváříte nad Azure. Integruje se s datovými a analytickými službami uvnitř Azure a mimo ni za účelem vytvoření kompletního kanálu streamování dat, který bude sloužit následujícím případům použití:
- Zpracování dat z centra událostí pomocí Azure Stream Analytics za účelem generování přehledů v reálném čase
- Analýza a zkoumání streamovaných dat pomocí Azure Data Exploreru
- Vytvořte si vlastní nativní cloudové aplikace, funkce nebo mikroslužby, které běží na streamovaných datech ze služby Event Hubs.
- Streamování událostí pomocí ověřování schématu pomocí integrovaného registru schématu Azure za účelem zajištění kvality a kompatibility streamovaných dat
Klíčové funkce
Seznamte se s klíčovými funkcemi služby Azure Event Hubs v následujících částech.
Apache Kafka ve službě Azure Event Hubs
Event Hubs je modul pro streamování událostí s více protokoly, který nativně podporuje protokoly AMQP (Advanced Message Queuing Protocol), Apache Kafka a HTTPS. Vzhledem k tomu, že podporuje Apache Kafka, můžete úlohy Kafka přenést do služby Event Hubs, aniž byste museli provádět změny kódu. Nemusíte nastavovat, konfigurovat ani spravovat vlastní clustery Kafka ani používat nabídku Kafka jako služby, která není nativní pro Azure.
Služba Event Hubs je vytvořená jako modul zprostředkovatele nativní pro cloud. Z tohoto důvodu můžete spouštět úlohy Kafka s lepším výkonem, lepší nákladovou efektivitou a žádnou provozní režií.
Další informace najdete v tématu Azure Event Hubs pro Apache Kafka.
Registr schématu ve službě Event Hubs
Azure Schema Registry ve službě Event Hubs poskytuje centralizované úložiště pro správu schémat aplikací streamování událostí. Registr schématu se dodává zdarma s každým oborem názvů služby Event Hubs. Integruje se s aplikacemi Kafka nebo aplikacemi založenými na sadě Event Hubs SDK.
Registr schémat zajišťuje kompatibilitu a konzistenci dat mezi producenty událostí a příjemci. Umožňuje vývoj, ověřování a zásady správného řízení schématu a podporuje efektivní výměnu a interoperabilitu dat.
Registr schémat se integruje se stávajícími aplikacemi Kafka a podporuje několik formátů schémat, včetně schémat Avro a JSON.
Další informace najdete v tématu Azure Schema Registry ve službě Event Hubs.
Zpracování událostí streamování v reálném čase pomocí Stream Analytics
Služba Event Hubs se integruje se službou Azure Stream Analytics a umožňuje zpracování datových proudů v reálném čase. Pomocí integrovaného editoru bez kódu můžete úlohu Stream Analytics vyvíjet pomocí funkcí přetažení, aniž byste museli psát žádný kód.
Vývojáři můžou také použít dotazovací jazyk Stream Analytics založený na SQL k provádění zpracování datových proudů v reálném čase a využívat širokou škálu funkcí pro analýzu streamovaných dat.
Další informace najdete v článcích v části integrace Azure Stream Analytics v obsahu.
Prozkoumání streamovaných dat pomocí Azure Data Exploreru
Azure Data Explorer je plně spravovaná platforma pro analýzy velkých objemů dat, která poskytuje vysoký výkon a umožňuje analýzu velkých objemů dat téměř v reálném čase. Integrací služby Event Hubs s Azure Data Explorerem můžete provádět analýzy a zkoumání streamovaných dat téměř v reálném čase.
Další informace najdete v tématu Ingestování dat z centra událostí do Azure Data Exploreru.
Azure Functions, sady SDK a ekosystém Kafka
Pomocí služby Event Hubs můžete ingestovat, ukládat do vyrovnávací paměti, ukládat a zpracovávat stream v reálném čase, abyste získali užitečné přehledy. Event Hubs používá model dělených příjemců. Umožňuje více aplikacím zpracovávat stream souběžně a umožňuje řídit rychlost zpracování. Služba Event Hubs se také integruje se službou Azure Functions pro bezserverové architektury.
Pro standardní protokol AMQP 1.0 je k dispozici široký ekosystém. Sady SDK jsou dostupné v jazycích, jako jsou .NET, Java, Python a JavaScript, takže můžete začít zpracovávat streamy ze služby Event Hubs. Všechny podporované jazyky klientů poskytují integraci na nízké úrovni.
Ekosystém také umožňuje integraci se službami Azure Functions, Azure Spring Apps, konektory Kafka a dalšími platformami a technologiemi pro analýzu dat, jako jsou Apache Spark a Apache Flink.
Podporuje místní vývoj pomocí emulátoru služby Event Hubs.
Emulátor služby Azure Event Hubs nabízí místní vývojové prostředí pro službu Event Hubs. Emulátor můžete použít k vývoji a testování kódu v izolované službě bez rušení cloudu. Další informace najdete v tématu Emulátor služby Event Hubs.
Flexibilní a nákladově efektivní streamování událostí
Můžete si projít flexibilní a nákladově efektivní streamování událostí prostřednictvím úrovní Standard, Premium nebo Dedicated pro službu Event Hubs. Tyto možnosti vyhovují potřebám streamování dat v rozsahu od několika MB/s až po několik GB/s. Můžete zvolit shodu, která je vhodná pro vaše požadavky.
Škálovatelné
Se službou Event Hubs můžete začít s datovými proudy v megabajtech a růst až na gigabajty nebo terabajty. Funkce automatického nafouknutí je jednou z dostupných možností škálování počtu jednotek propustnosti nebo jednotek zpracování podle vašich potřeb využití.
Podporuje streamování velkých zpráv.
Ve většině scénářů streamování jsou data charakterizována jednoduchým, obvykle méně než 1 MB a vysokou propustností. Existují také případy, kdy se zprávy nedají rozdělit do menších segmentů. Služba Event Hubs může za příplatek pojmout události až 20 MB pomocí samoobslužných škálovatelných vyhrazených clusterů . Tato funkce umožňuje službě Event Hubs zpracovávat širokou škálu velikostí zpráv, aby se zajistily nepřerušované obchodní operace. Další informace najdete v tématu Odesílání a přijímání velkých zpráv pomocí služby Azure Event Hubs.
Zachytávání streamovaných dat pro dlouhodobé uchovávání a dávkové analýzy
Zachytávání dat téměř v reálném čase ve službě Azure Blob Storage nebo Azure Data Lake Storage pro dlouhodobé uchovávání nebo mikrodávkové zpracování Toto chování můžete dosáhnout u stejného datového proudu, který používáte k odvození analýz v reálném čase. Nastavení zachytávání dat událostí je rychlé.
Jak to funguje
Event Hubs poskytuje jednotnou platformu streamování událostí s vyrovnávací pamětí pro uchovávání času, která odděluje producenty událostí od příjemců událostí. Aplikace producenta a příjemce můžou provádět rozsáhlé ingestování dat prostřednictvím více protokolů.
Následující diagram znázorňuje hlavní komponenty architektury služby Event Hubs.
Mezi klíčové funkční komponenty služby Event Hubs patří:
- Aplikace pro producenty: Tyto aplikace můžou ingestovat data do centra událostí pomocí sad SDK služby Event Hubs nebo libovolného klienta producenta Kafka.
- Obor názvů: Kontejner pro správu jednoho nebo více center událostí nebo témat Kafka. Úlohy správy, jako je přidělování kapacity streamování, konfigurace zabezpečení sítě a povolení geografického zotavení po havárii, se zpracovávají na úrovni oboru názvů.
- Téma Event Hubs/Kafka: Ve službě Event Hubs můžete události uspořádat do centra událostí nebo do tématu Kafka. Jedná se o distribuovaný protokol jen pro připojení, který může obsahovat jeden nebo více oddílů.
- Oddíly: Slouží ke škálování centra událostí. Jsou jako pruhy na volné cestě. Pokud potřebujete větší propustnost streamování, můžete přidat další oddíly.
- Spotřebitelské aplikace: Tyto aplikace mohou využívat data hledáním v protokolu událostí a udržováním posunu příjemce. Příjemci můžou být klienti Kafka consumer nebo klienti sady Event Hubs SDK.
- Skupina příjemců: Tato logická skupina instancí příjemců čte data z centra událostí nebo tématu Kafka. Umožňuje více příjemcům číst stejná streamovaná data v centru událostí nezávisle na sobě vlastním tempem a s vlastními posuny.
Související obsah
Pokud chcete začít používat službu Event Hubs, podívejte se na následující rychlé starty.
Streamování dat pomocí sady Event Hubs SDK (AMQP)
Pomocí libovolné z následujících ukázek můžete streamovat data do služby Event Hubs pomocí sad SDK.
- .NET Core
- Java
- Spring
- Python
- JavaScript
- Přejít
- C (pouze odesílání)
- Apache Storm (pouze příjem)
Streamování dat pomocí Apache Kafka
Pomocí následujících ukázek můžete streamovat data z aplikací Kafka do služby Event Hubs.
Ověřování schématu pomocí registru schématu
Registr schématu služby Event Hubs můžete použít k ověření schématu pro aplikace streamování událostí.