Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Apache Kafka je open source distribuovaná streamovací platforma, kterou lze použít k vytváření aplikací a kanálů pro streamování dat v reálném čase. Kafka také poskytuje funkci pro zprostředkování zpráv podobnou frontě zpráv, ve které můžete publikovat pojmenované datové proudy a přihlásit se k jejich odběru.
Tady jsou konkrétní charakteristiky systému Kafka ve službě HDInsight:
Jedná se o spravovanou službu, která poskytuje zjednodušený proces konfigurace. Výsledkem je konfigurace otestovaná a podporovaná Microsoftem.
Microsoft poskytuje smlouvu o úrovni služeb (SLA) zajišťující 99,9% dostupnost platformy Kafka. Další informace najdete v dokumentu Informace o smlouvě SLA pro službu HDInsight.
Jako záložní úložiště pro platformu Kafka se používají Spravované disky Azure. Spravované disky mohou pro každého zprostředkovatele Kafka poskytovat až 16 TB úložiště. Informace o konfiguraci spravovaných disků se systémem Kafka ve službě HDInsight najdete v tématu Zvýšení škálovatelnosti Apache Kafka ve službě HDInsight.
Další informace o spravovaných discích najdete v tématu Azure Managed Disks.
Systém Kafka byl navržený s jednodimenzionálním zobrazením racku. Azure rozděluje stojan do dvou dimenzí – Update Domains (UD) a Fault Domains (FD). Microsoft poskytuje nástroje, které obnovují rovnováhu oddílů a replik platformy Kafka mezi aktualizačními doménami a doménami selhání.
Další informace najdete v tématu Vysoká dostupnost apache Kafka ve službě HDInsight.
HDInsight umožňuje změnit počet pracovních uzlů (které jsou hostiteli zprostředkovatele Kafka) po vytvoření clusteru. Vertikální škálování je možné provést z webu Azure Portal, Azure PowerShellu a dalších rozhraní pro správu Azure. V případě platformy Kafka byste po operacích škálování měli obnovit rovnováhu replik oddílů. Přerozdělení oddílů umožňuje Kafce využít nového počtu pracovních uzlů.
HDInsight Kafka nepodporuje vertikální škálování ani snížení počtu zprostředkovatelů v clusteru. Pokud se pokusíte snížit počet uzlů, vrátí se
InvalidKafkaScaleDownRequestErrorCodechyba.Další informace najdete v tématu Vysoká dostupnost apache Kafka ve službě HDInsight.
Protokoly služby Azure Monitor je možné použít k monitorování Kafka ve službě HDInsight. Protokoly služby Azure Monitor zobrazí informace o úrovni virtuálních počítačů, jako jsou metriky disků a síťových adaptérů a metriky JMX ze systému Kafka.
Další informace najdete v tématu Analýza protokolů pro Apache Kafka ve službě HDInsight.
Architektura Apache Kafka ve službě HDInsight
Následující diagram ukazuje obvyklou konfiguraci platformy Kafka s využitím skupin příjemců, dělení a replikace. Díky tomu nabízí paralelní čtení událostí s odolností proti chybám:
Apache ZooKeeper spravuje stav clusteru Kafka. Služba ZooKeeper je navržená pro souběžné a odolné transakce s nízkou latencí.
Kafka ukládá záznamy (data) v tématech. Záznamy jsou vytvářeny producenty a spotřebovávány konzumenty. Producenti odesílají záznamy zprostředkovatelům Kafka. Každý pracovní uzel v clusteru HDInsight je Kafka broker.
Témata rozdělují záznamy do oddílů napříč zprostředkovateli. Při využívání záznamů můžete dosáhnout paralelního zpracování dat použitím až jednoho konzumenta na každou partition.
Replikace se používá k duplikaci oddílů mezi uzly (zprostředkovateli), čímž se zajišťuje ochrana proti jejich výpadkům. V diagramu je oddíl s označením (L) vedoucím daného oddílu. Provoz producenta se směruje k vůdci každého uzlu pomocí stavu, který spravuje ZooKeeper.
Proč používat Apache Kafka ve službě HDInsight?
Tady jsou běžné úlohy a postupy, které je možné provádět s využitím systému Kafka ve službě HDInsight:
| Použít | Popis |
|---|---|
| Replikace dat Apache Kafka | Kafka poskytuje nástroj MirrorMaker, který replikuje data mezi clustery Kafka. Informace o použití MirrorMakeru najdete v tématu Replikace témat Apache Kafka s Apache Kafka ve službě HDInsight. |
| Publikačně-odběratelský model zasílání zpráv | Kafka poskytuje rozhraní API pro producenty pro publikování záznamů do tématu Kafka. Rozhraní API pro příjemce se používá při přihlášení k odběru tématu. Další informace najdete v tématu Začínáme s Apache Kafka ve službě HDInsight. |
| Zpracování datových proudů | Kafka se často používá se Sparkem ke zpracování datových proudů v reálném čase. Kafka 2.1.1 a 2.4.1 (HDInsight verze 4.0 a 5.0) podporují streamovací rozhraní API, které umožňuje vytvářet streamovací řešení bez nutnosti Sparku. Další informace najdete v tématu Začínáme s Apache Kafka ve službě HDInsight. |
| Horizontální škálování | Kafka rozděluje streamy napříč uzly v clusteru HDInsight. Procesy příjemců můžou být přidružené k jednotlivým oddílům pro zajištění vyrovnávání zatížení při využívání záznamů. Další informace najdete v tématu Začínáme s Apache Kafka ve službě HDInsight. |
| Doručení v objednávce | V rámci každého oddílu se záznamy ukládají do datového proudu v pořadí, v jakém byly přijaty. Přidružením jednoho spotřebitelského procesu na oddíl můžete zajistit zpracování záznamů ve správném pořadí. Další informace najdete v tématu Začínáme s Apache Kafka ve službě HDInsight. |
| Zasílání zpráv | Vzhledem k tomu, že podporuje model zpráv publikování a odběru, kafka se často používá jako zprostředkovatel zpráv. |
| Sledování aktivit | Vzhledem k tomu, že Kafka poskytuje protokolování záznamů v pořadí, lze ho použít ke sledování a opětovnému vytvoření aktivit. Například akcí uživatelů na webu nebo v aplikaci. |
| Agregace | Pomocí zpracování datových proudů můžete agregovat informace z různých datových proudů a kombinovat a centralizovat informace do provozních dat. |
| Transformace | Pomocí zpracování datových proudů můžete kombinovat a rozšiřovat data z více vstupních témat do jednoho nebo více výstupních témat. |
Další kroky
Následující odkazy popisují používání Apache Kafka ve službě HDInsight: