logo

Kafka témák

Az előző részben röviden bemutattuk az Apache Kafkát, az üzenetküldő rendszert, valamint a streamelési folyamatot. Itt megvitatjuk az alapfogalmakat és Kafka szerepét.

Témák

Általában egy téma egy adott címsorra vagy bizonyos, egymással összefüggő gondolatoknak adott névre utal. A kafkában a téma szó egy adott adatfolyam tárolására és közzétételére használt kategóriára vagy általános névre utal. Alapvetően a Kafka témakörei hasonlóak az adatbázis táblázataihoz, de nem tartalmaznak minden megszorítást. A Kafkában n számú témát hozhatunk létre tetszés szerint. A név alapján azonosítható, ami a felhasználó választásától függ. A gyártó adatokat tesz közzé a témákhoz, a fogyasztó pedig előfizetéssel olvassa be a témából az adatokat.

Partíciók

Egy téma több részre van felosztva, amelyek a téma partícióiként ismertek. Ezek a partíciók sorrendben vannak elválasztva. Az adattartalom a témakörön belüli partíciókban tárolódik. Ezért a téma létrehozásakor meg kell adnunk a partíciók számát (a szám tetszőleges és később módosítható). Minden üzenet partíciókba kerül tárolásra, növekményes azonosítóval, amelyet Offset értékként ismerünk. A sorrend a eltolási érték csak a partíción belül garantált, a partíción belül nem. Egy partíció eltolása végtelen.

Jegyzet:A partícióra egyszer írt adatok soha nem módosíthatók. Ez megváltoztathatatlan. Az eltolás értéke mindig növekményes állapotban marad, soha nem tér vissza üres helyre. Ezenkívül az adatokat csak korlátozott ideig tárolják egy partíción.

Nézzünk egy példát egy téma és a partícióinak megértéséhez.

Kafka témák

Tegyük fel, hogy egy témakör három partíciót tartalmaz (0, 1 és 2). Mindegyik partíciónak különböző eltolási számai vannak. Az adatok el vannak osztva az egyes partíciók eltolásai között, ahol a 0. partíció 1. eltolásában lévő adatoknak nincs kapcsolata az 1. partíció 1. eltolásában lévő adatokkal. De a 0. partíció 1. eltolásában lévő adatok összefüggenek a 0. partíció 2. eltolásában lévő adatokkal.

Brókerek

Itt jön az Apache Kafka szerepe.

A Kafka-fürt egy vagy több szerverből áll, amelyeket brókereknek vagy Kafka-brókereknek neveznek. A bróker egy olyan tároló, amely több témát tartalmaz több partícióval. A fürtben lévő brókereket csak egy egész szám azonosítja. A Kafka brókereket más néven Bootstrap brókerek mert bármely brókerrel való kapcsolat az egész klaszterrel való kapcsolatot jelent. Bár egy bróker nem tartalmaz teljes adatokat, de a fürtben minden bróker tud az összes többi brókerről, partícióról és témáról.

Kafka témák

Így néz ki egy bróker az ábrán, amely egy n számú partíciót tartalmazó témát tartalmaz.

Példa: Brókerek és témák

Tegyük fel, hogy egy Kafka-klaszter három brókerből áll, nevezetesen a Bróker 1-ből, a Broker 2-ből és a Broker 3-ból.

Kafka témák

Minden bróker tart egy témát, nevezetesen a Topic-x-et, három partícióval, 0,1 és 2. Ne feledje, hogy nem minden partíció csak egy brókerhez tartozik, mindig az egyes brókerek között van elosztva (a mennyiségtől függően). Az 1. közvetítő és a 2. közvetítő tartalmaz egy másik y témát is, amelynek két partíciója 0 és 1. Így a 3. közvetítő nem tartalmaz adatokat az y témakörből. Azt is megállapítottuk, hogy a brókerszám és a partíció száma között soha nem létezik kapcsolat.