Sobes.tech
Junior

Kafka nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Paylanmış, nasazlıqlara davamlı publish-subscribe mesaj mübadiləsi sistemi, LinkedIn tərəfindən hazırlanmış və Apache layihəsinə çevrilmişdir. Real vaxt məlumat boru kəmərlərinin və axın tətbiqlərinin qurulmasında istifadə olunur.

Əsas komponentlər və anlayışlar:

  • Broker: Kafka serveri. Kafka klasteri bir və ya bir neçə brokerdən ibarətdir.
  • Topic: Mesajların yayımlandığı kateqoriya. Məlumat axınlarını məntiqi şəkildə bölür.
  • Partition: Topic bölmələrə ayrılır. Hər bölmə ardıcıl və dəyişməz mesajlar ardıcıllığıdır. Bölmədəki mesajlar unikal ofset (offset) ilə təyin olunur.
  • Producer: Mesajları topic-ə göndərən tətbiq.
  • Consumer: Topic-ə abunə olan və mesajları qəbul edən tətbiq.
  • Consumer Group: Bir və ya bir neçə topic-dən mesajları birlikdə qəbul edən istehlakçı qrupu. Bölmədən gələn mesajlar yalnız qrupdakı bir istehlakçıya çatdırılır.
  • Zookeeper: Kafka klasterinin koordinatoru kimi istifadə olunur (brokerlar, topiclər, bölmələr, istehlakçı qruplarının ofsetlərinin idarə olunması). Daha yeni versiyalarda, Zookeeper-in rolu qismən daxili konsensus xidməti KRaft-ə keçir.

Kafka yüksək ötürmə qabiliyyəti, miqyaslana bilmə və nasazlıqlara davamlılıq təmin edir, bölmələrin replikasiyası vasitəsilə brokerlər arasında. Mesajlar diskdə saxlanılır və müəyyən müddət ərzində istehlakçılara əlçatan olur.

İstifadə nümunələri:

  • Logların real vaxtda toplanması və işlənməsi.
  • Axın məlumatlarının işlənməsi (Kafka Streams, KSQL vasitəsilə).
  • Xidmətlərin ayrılması (mikroservis memarlığı).
  • Sistemlər arasında məlumatların sinxronizasiyası.