logo

Teme Kafke

V prejšnjem razdelku smo na kratko predstavili Apache Kafka, sistem sporočanja in postopek pretakanja. Tukaj bomo razpravljali o osnovnih konceptih in vlogi Kafke.

Teme

Na splošno se tema nanaša na določen naslov ali ime, dano nekaterim specifičnim medsebojno povezanim zamislim. Pri Kafki se beseda tema nanaša na kategorijo ali splošno ime, ki se uporablja za shranjevanje in objavo določenega toka podatkov. V bistvu so teme v Kafki podobne tabelam v bazi podatkov, vendar ne vsebujejo vseh omejitev. V Kafki lahko ustvarimo n število tem, kot želimo. Prepoznamo ga po imenu, ki je odvisno od izbire uporabnika. Proizvajalec objavi podatke v temah, potrošnik pa te podatke prebere iz teme tako, da se nanjo naroči.

Predelne stene

Tema je razdeljena na več delov, ki so znani kot razdelki teme. Te particije so ločene po vrstnem redu. Vsebina podatkov se shrani v particije znotraj teme. Zato moramo pri ustvarjanju teme določiti število particij (število je poljubno in se lahko kasneje spremeni). Vsako sporočilo se shrani v particije z inkrementalnim ID-jem, znanim kot njegova vrednost odmika. Vrstni red vrednost odmika je zagotovljen samo znotraj particije in ne preko particije. Odmiki za particijo so neskončni.

Opomba:Podatkov, ki so enkrat zapisani na particijo, ni več mogoče spremeniti. Je nespremenljivo. Vrednost odmika vedno ostane v inkrementalnem stanju, nikoli se ne vrne v prazen prostor. Poleg tega se podatki hranijo v particiji le omejen čas.

Oglejmo si primer za razumevanje teme z njenimi particijami.

Teme Kafke

Predpostavimo, da tema vsebuje tri particije 0,1 in 2. Vsaka particija ima različno število odmikov. Podatki so razdeljeni med vsak odmik v vsaki particiji, kjer podatki v odmiku 1 particije 0 nimajo nobene povezave s podatki v odmiku 1 particije 1. Toda podatki v odmiku 1 particije 0 so medsebojno povezani s podatki v odmiku 2 particije 0.

Posredniki

Tu nastopi vloga Apača Kafke.

Grozd Kafka je sestavljen iz enega ali več strežnikov, ki so znani kot posredniki ali posredniki Kafka. Posrednik je vsebnik, ki vsebuje več tem z njihovimi več particijami. Posredniki v gruči so identificirani samo s celoštevilskim ID-jem. Posredniki Kafka so znani tudi kot Bootstrap posredniki ker povezava s katerimkoli posrednikom pomeni povezavo s celotnim grozdom. Čeprav posrednik ne vsebuje celotnih podatkov, vsak posrednik v gruči pozna vse druge posrednike, particije in tudi teme.

Teme Kafke

Takole izgleda posrednik na sliki, ki vsebuje temo z n številom particij.

Primer: posredniki in teme

Recimo, da je grozd Kafka sestavljen iz treh posrednikov, in sicer posrednika 1, posrednika 2 in posrednika 3.

Teme Kafke

Vsak posrednik drži temo, in sicer Topic-x s tremi particijami 0,1 in 2. Ne pozabite, da vse particije ne pripadajo samo enemu posredniku, vedno je razdeljen med posamezne posrednike (odvisno od količine). Posrednik 1 in posrednik 2 vsebujeta drugo temo-y z dvema particijama 0 in 1. Posrednik 3 torej ne hrani nobenih podatkov iz teme-y. Ugotovljeno je tudi, da med številko posrednika in particijsko številko nikoli ne obstaja nobena povezava.