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ı.