Apache Kafka

Čo je Apache Kafka a ako funguje?

Čo je Apache Kafka a ako funguje?

V tejto lekcii uvidíme, čo je Apache Kafka a ako funguje spolu s jeho najbežnejšími prípadmi použitia.  Apache Kafka bol pôvodne vyvinutý na LinkedIn v roku 2010 a od roku 2012 sa stal projektom Apache na najvyššej úrovni. Má tri hlavné komponenty:

V ďalších častiach si naštudujeme oveľa viac konceptov Kafky. Poďme ďalej.

Koncepty Apache Kafka

Predtým, ako sa pustíme hlbšie, musíme si dôkladne prečítať niektoré koncepty v Apache Kafke. Tu sú výrazy, ktoré by sme mali vedieť, veľmi stručne:

Témové oddiely

Koncept témy, oddielov tém a odsadenia je možné objasniť aj ilustračným obrázkom:

Témová časť a ofset spotrebiteľa v Apache Kafka

Apache Kafka as Publish-subscribe messaging system

V prípade aplikácie Kafka aplikácie Producent zverejňujú správy, ktoré prichádzajú na uzol Kafka, a nie priamo k spotrebiteľovi. Z tohto uzla Kafka sú správy spotrebované aplikáciami Consumer.

Výrobca a spotrebiteľ spoločnosti Kafka

Pretože jedna téma môže získať veľa údajov naraz, je každá téma rozdelená na, aby bola Kafka horizontálne škálovateľná priečky a každý oddiel môže žiť na ľubovoľnom uzlovom stroji klastra.

Spoločnosť Kafka Broker opäť nevedie záznamy o tom, ktorý spotrebiteľ spotreboval koľko paketov údajov. Je to zodpovednosť spotrebiteľov za sledovanie údajov, ktoré spotrebovala. Z dôvodu, že Kafka nesleduje potvrdenia a správy každej spotrebiteľskej aplikácie, môže spravovať oveľa viac spotrebiteľov so zanedbateľným vplyvom na priepustnosť. Pri výrobe veľa aplikácií dokonca sleduje vzorec dávkových spotrebiteľov, čo znamená, že spotrebiteľ spotrebuje všetky správy vo fronte v pravidelnom časovom intervale.

Inštalácia

Ak chcete začať používať Apache Kafka, musí byť na počítači nainštalovaný. Ak to chcete urobiť, prečítajte si článok Inštalácia Apache Kafka na Ubuntu.

Prípad použitia: Sledovanie používania webových stránok

Kafka je vynikajúci nástroj, ktorý sa dá použiť, keď potrebujeme sledovať aktivitu na webovej stránke. Údaje o sledovaní zahŕňajú okrem iného zobrazenia stránky, vyhľadávania, nahrávania alebo iné akcie, ktoré môžu používatelia vykonať. Keď sa používateľ nachádza na webových stránkach, môže pri surfovaní na webe vykonať ľubovoľný počet akcií.

Napríklad, keď sa nový používateľ zaregistruje na webovej stránke, je možné sledovať aktivitu v akom poradí nový používateľ preskúma funkcie webovej stránky, ak si užívateľ nastaví svoj profil podľa potreby alebo uprednostňuje priamy prístup k vlastnostiam webovej stránky. webovú stránku. Kedykoľvek používateľ klikne na tlačidlo, metadáta pre toto tlačidlo sa zhromaždia v dátovom pakete a odošlú sa do kafkovského klastra, odkiaľ môže analytická služba pre aplikáciu tieto údaje zhromažďovať a vytvárať užitočné informácie o súvisiacich údajoch. Ak sa pozrieme na rozdelenie úloh na kroky, bude vyzerať tento postup:

  1. Používateľ sa zaregistruje na webovej stránke a vstúpi na informačný panel. Používateľ sa pokúsi o prístup k funkcii okamžite pomocou tlačidla.
  2. Webová aplikácia vytvorí správu s týmito metadátami do tematického oddielu témy „kliknutie“.
  3. Správa sa pripojí k protokolu potvrdenia a posun sa zvýši
  4. Spotrebiteľ môže teraz prevziať správu od sprostredkovateľa Kafka a zobraziť použitie webových stránok v reálnom čase a zobraziť minulé údaje, ak obnoví svoj offset na možnú minulú hodnotu

Prípad použitia: Fronta správ

Apache Kafka je vynikajúci nástroj, ktorý môže slúžiť ako náhrada za nástroje na sprostredkovanie správ, ako je RabbitMQ. Asynchrónne zasielanie správ pomáha pri odpájaní aplikácií a vytvára vysoko škálovateľný systém.

Rovnako ako koncept mikroslužieb, aj namiesto budovania jednej veľkej aplikácie môžeme aplikáciu rozdeliť na viac častí a každá časť nesie veľmi konkrétnu zodpovednosť. Týmto spôsobom je možné rôzne časti písať aj v úplne nezávislých programovacích jazykoch! Kafka má zabudovaný systém rozdelenia, replikácie a odolnosti proti chybám, vďaka ktorému je dobrý ako rozsiahly systém sprostredkovania správ.

V poslednej dobe sa spoločnosť Kafka považuje aj za veľmi dobré riešenie na zhromažďovanie protokolov, ktoré dokáže spravovať sprostredkovateľa servera na zhromažďovanie protokolových súborov a poskytovať tieto súbory centrálnemu systému. Pomocou Kafky je možné vygenerovať ľubovoľnú udalosť, o ktorej chcete, aby sa dozvedela ktorákoľvek iná časť vašej aplikácie.

Používanie Kafky na LinkedIn

Je zaujímavé poznamenať, že server Apache Kafka bol už skôr videný a používaný ako prostriedok na zabezpečenie konzistentnosti dátových tokov a na prijímanie údajov do systému Hadoop. Kafka pracoval vynikajúco, keď bolo prítomných viac zdrojov údajov a cieľov, a poskytnutie samostatného procesu pre každú kombináciu zdroja a cieľa nebolo možné. Jay Kreps, architekt Kafky z LinkedIn, dobre popisuje tento známy problém v blogovom príspevku:

Moja vlastná angažovanosť v tomto sa začala okolo roku 2008 po tom, čo sme odoslali náš obchod s kľúčovými hodnotami. Ďalším mojím projektom bolo pokúsiť sa naštartovať funkčné nastavenie Hadoop a presunúť tam niektoré naše procesy odporúčaní. Keďže sme v tejto oblasti nemali dostatok skúseností, prirodzene sme si stanovili rozpočet na niekoľko týždňov na získavanie a vypúšťanie údajov a zvyšok času na implementáciu efektných predikčných algoritmov. Tak sa začal dlhý slog.

Apache Kafka a Flume

Ak sa presuniete na porovnanie týchto dvoch na základe ich funkcií, nájdete veľa spoločných funkcií. Tu sú niektoré z nich:

Záver

V tejto lekcii sme sa pozreli na veľa konceptov o Apache Kafkovi. Prečítajte si viac príspevkov založených na Kafke tu.

Ovládajte a spravujte pohyb myši medzi viacerými monitormi v systéme Windows 10
Správca myši s duálnym displejom umožňuje ovládať a konfigurovať pohyb myši medzi viacerými monitormi spomalením jeho pohybu blízko hranice. Windows 1...
WinMouse vám umožňuje prispôsobiť a vylepšiť pohyb ukazovateľa myši na počítači so systémom Windows
Ak chcete vylepšiť predvolené funkcie kurzora myši, použite freeware WinMouse. Pridáva ďalšie funkcie, ktoré vám pomôžu vyťažiť zo svojej skromnej myš...
Tlačidlo ľavého kliknutia myši nefunguje v systéme Windows 10
Ak používate samostatnú myš s prenosným počítačom alebo stolovým počítačom, ale nefunguje ľavé tlačidlo myši vo Windows 10/8/7 z nejakého dôvodu uvádz...