Junior
Mi az a Kafka?
sobes.tech MI
Válasz az MI-től
Elosztott, hibabiztos publish-subscribe üzenetküldő rendszer, amelyet a LinkedIn fejlesztett ki, és az Apache projektévé vált. Valós idejű adatcsatornák és streaming alkalmazások építésére használják.
Fő komponensek és fogalmak:
- Broker: Kafka szerver. A Kafka klaszter egy vagy több brokerből áll.
- Topic: Kategória, ahová az üzenetek kerülnek. Logikusan elválasztja az adatfolyamokat.
- Partition: A téma felosztható partíciókra. Minden partíció egy rendezett, változatlan üzenetsorozat. A partíción belüli üzenetek egyedi offsettel rendelkeznek.
- Producer: Alkalmazás, amely üzeneteket küld a témába.
- Consumer: Alkalmazás, amely feliratkozik egy témára és fogyasztja az üzeneteket.
- Consumer Group: Olyan fogyasztói csoport, amely közösen fogyaszt üzeneteket egy vagy több témából. A partícióból származó üzenetek csak egy fogyasztónak kerülnek átadásra a csoportban.
- Zookeeper: A Kafka klaszter koordinálására szolgál (brokerok, témák, partíciók, fogyasztói csoportok offsetjeinek kezelése). Újabb verziókban a Zookeeper szerepe részben átkerült a beépített KRaft konszenzus szolgáltatásba.
A Kafka magas átviteli sebességet, skálázhatóságot és hibabiztosságot biztosít a partíciók replikációja révén a brokerok között. Az üzenetek lemezre kerülnek, és egy meghatározott időszakig elérhetők a fogyasztók számára.
Használati példák:
- Naplók gyűjtése és feldolgozása valós időben.
- Streaming adatfeldolgozás (Kafka Streams, KSQL segítségével).
- Szolgáltatások szétválasztása (mikroszervizes architektúra).
- Adatok szinkronizálása rendszerek között.