Sobes.tech
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.