logo

Kafkos temos

Ankstesniame skyriuje trumpai pristatėme „Apache Kafka“, pranešimų sistemą ir srautinio perdavimo procesą. Čia aptarsime pagrindines sąvokas ir Kafkos vaidmenį.

Temos

Paprastai tema nurodo tam tikrą antraštę arba pavadinimą, suteiktą tam tikroms konkrečioms tarpusavyje susijusioms idėjoms. Kafkos kalboje žodis tema reiškia kategoriją arba bendrą pavadinimą, naudojamą tam tikram duomenų srautui saugoti ir skelbti. Iš esmės Kafkos temos yra panašios į duomenų bazės lenteles, tačiau jose nėra visų apribojimų. Kafkoje galime sukurti n temų, kiek norime. Jis atpažįstamas pagal pavadinimą, kuris priklauso nuo vartotojo pasirinkimo. Gamintojas skelbia duomenis temose, o vartotojas tuos duomenis perskaito iš temos užsiprenumeruodamas.

Pertvaros

Tema yra padalinta į kelias dalis, kurios yra žinomos kaip temos skaidiniai. Šios pertvaros yra atskirtos tvarka. Duomenų turinys saugomas temos skaidiniuose. Todėl kurdami temą turime nurodyti skyrių skaičių (skaičius yra savavališkas ir gali būti pakeistas vėliau). Kiekvienas pranešimas išsaugomas skaidiniuose su prieauginiu ID, žinomu kaip poslinkio reikšmė. Užsakymas kompensavimo vertė garantuojama tik skaidinyje, o ne visame skaidinyje. Skirsnio poslinkiai yra begaliniai.

Pastaba:Į skaidinį įrašyti duomenys niekada negali būti pakeisti. Tai nekintama. Poslinkio reikšmė visada lieka didėjančioje būsenoje, ji niekada negrįžta į tuščią vietą. Be to, duomenys skaidinyje saugomi tik ribotą laiką.

Pažiūrėkime pavyzdį, kaip suprasti temą su jos skaidiniais.

Kafkos temos

Tarkime, tema, kurioje yra trys skirsniai 0,1 ir 2. Kiekvienas skirsnis turi skirtingus poslinkio skaičius. Duomenys paskirstomi kiekviename poslinkyje kiekviename skirsnyje, kur 0 skirsnio 1 poslinkio duomenys neturi jokio ryšio su 1 skirsnio 1 poslinkio duomenimis. Tačiau 0 skirsnio 1 poslinkio duomenys yra tarpusavyje susiję su duomenimis, esančiais 0 skirsnio 2 poslinkyje.

Brokeriai

Čia ateina Apache Kafka vaidmuo.

„Kafka“ klasterį sudaro vienas ar daugiau serverių, žinomų kaip brokeriai arba „Kafka“ brokeriai. Tarpininkas yra konteineris, kuriame yra kelios temos su keliais skaidiniais. Klasteryje esantys brokeriai identifikuojami tik pagal sveikojo skaičiaus ID. Kafka brokeriai taip pat žinomi kaip „Bootstrap“ brokeriai nes ryšys su vienu brokeriu reiškia ryšį su visu klasteriu. Nors brokeryje nėra visų duomenų, bet kiekvienas klasterio brokeris žino apie visus kitus brokerius, skaidinius ir temas.

Kafkos temos

Štai kaip brokeris atrodo paveikslėlyje, kuriame yra tema su n skaidinių skaičiumi.

Pavyzdys: brokeriai ir temos

Tarkime, Kafka klasteris susideda iš trijų brokerių, būtent 1 brokerio, 2 brokerio ir 3 brokerio.

Kafkos temos

Kiekvienas brokeris turi temą, ty Topic-x su trimis skirsniais 0,1 ir 2. Atminkite, kad visos skirstys nepriklauso tik vienam brokeriui, ji visada paskirstoma kiekvienam brokeriui (priklauso nuo kiekio). Tarpininkas 1 ir tarpininkas 2 turi kitą temą-y, turinčią du skirsnius 0 ir 1. Taigi, tarpininkas 3 neturi jokių duomenų iš temos-y. Taip pat daroma išvada, kad tarp brokerio numerio ir skaidinio numerio niekada nėra ryšio.