logo

Kafkova témata

V předchozí části jsme krátce představili Apache Kafka, systém zasílání zpráv a také proces streamování. Zde probereme základní pojmy a roli Kafky.

Témata

Téma obecně odkazuje na konkrétní nadpis nebo název daný některým konkrétním vzájemně souvisejícím myšlenkám. V Kafkovi slovo téma odkazuje na kategorii nebo běžný název používaný k ukládání a publikování určitého proudu dat. V zásadě jsou témata v Kafce podobná tabulkám v databázi, ale neobsahují všechna omezení. V Kafkovi můžeme vytvořit n počet témat, jak chceme. Je identifikován svým názvem, který závisí na volbě uživatele. Výrobce publikuje data k tématům a spotřebitel si tato data z tématu přečte tím, že se přihlásí k odběru.

Příčky

Téma je rozděleno do několika částí, které jsou známé jako oddíly tématu. Tyto oddíly jsou odděleny v pořadí. Datový obsah se ukládá do oddílů v rámci tématu. Proto při vytváření tématu musíme zadat počet oddílů (počet je libovolný a lze jej později změnit). Každá zpráva se uloží do oddílů s přírůstkovým ID známým jako její hodnota Offset. Pořadí hodnotu offsetu je zaručeno pouze v rámci oddílu a ne přes oddíl. Posuny pro oddíl jsou nekonečné.

Poznámka:Data jednou zapsaná do oddílu nelze nikdy změnit. Je neměnný. Hodnota offsetu vždy zůstává v přírůstkovém stavu, nikdy se nevrátí na prázdné místo. Data jsou také uchovávána v oddílu pouze po omezenou dobu.

Podívejme se na příklad pro pochopení tématu s jeho oddíly.

Kafkova témata

Předpokládejme, že téma obsahuje tři oddíly 0, 1 a 2. Každý oddíl má různá čísla posunu. Data jsou rozdělena mezi každý offset v každém oddílu, kde data v offsetu 1 oddílu 0 nemají žádný vztah s daty v offsetu 1 oddílu 1. Ale data v offsetu 1 oddílu 0 jsou vzájemně propojena s daty obsaženými v offsetu 2 oddílu 0.

Makléři

Zde přichází role Apače Kafky.

Kafka cluster se skládá z jednoho nebo více serverů, které jsou známé jako brokeři nebo Kafka brokeři. Broker je kontejner, který obsahuje několik témat s jejich více oddíly. Zprostředkovatelé v clusteru jsou identifikováni pouze celočíselným id. Kafka brokeři jsou také známí jako Bootstrap brokeři protože spojení s jakýmkoliv jedním brokerem znamená spojení s celým clusterem. Broker sice neobsahuje celá data, ale každý broker v clusteru ví o všech ostatních brokerech, oddílech i tématech.

Kafkova témata

Takto vypadá broker na obrázku obsahujícím téma s n počtem oddílů.

Příklad: Makléři a témata

Předpokládejme, že klastr Kafka se skládá ze tří brokerů, jmenovitě Broker 1, Broker 2 a Broker 3.

Kafkova témata

Každý broker drží téma, a to Téma-x se třemi oddíly 0,1 a 2. Pamatujte, že všechny oddíly nepatří pouze jednomu brokerovi, je vždy rozděleno mezi každého brokera (záleží na množství). Broker 1 a Broker 2 obsahuje další téma-y se dvěma oddíly 0 a 1. Broker 3 tedy neuchovává žádná data z tématu-y. Rovněž se dospělo k závěru, že mezi číslem makléře a číslem oddílu nikdy neexistuje žádný vztah.