Sdílet prostřednictvím


Co je Apache Kafka ve službě Azure HDInsight

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 InvalidKafkaScaleDownRequestErrorCode chyba.

    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:

Diagram konfigurace clusteru Kafka

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: