APACHE KAFKA COMPONENTS

Çiğdem Kadakoğlu
3 min readAug 18, 2022

--

APACHE KAFKA

Herkese merhaba, bu yazıda Apache Kafka’nın bileşenleri konusunu ele alacağım.

Tanımlar

Broker

  • Brokerlar, Kafka’ya gönderilen mesajları saklayıp işler.
  • Her Kafka clusterında bir veya birden fazla broker bulunur.
  • Her broker farklı bir ID’ye sahiptir.
  • Failover senaryoları yaşamamak için en az üç ya da beş broker kullanılması gerekir.

Topic

  • Verileri saklamak için topicler kullanılır.
  • Topicler, brokerlarda saklanır.
  • Her topic in farklı bir ismi vardır.
  • Kafka’daki mesajları okumak için topicler kullanılır.
  • Kafka’ya mesaj yazmak için topicler kullanılır.

Partition

  • Topicler, partitionlardan oluşur.
  • Topicler için istediğimiz sayıda partition belirleyebiliriz.
  • Mesajlar, topiclerin içinde bulunan partitionlara yazılır.
  • Her partition için bir sayı vardır.
  • Partitionlar sayesinde producerlardaki mesajlar istenilen özelliklere göre toplanabilir.
  • Mesajlar sıralı bir şekilde toplanabilir.
  • Mesajlar daha efektif bir şekilde saklanır. Bu sayede çok büyük boyutlara sahip olan mesajlar istenilen şekilde saklanabilir.
  • Partition sayıları arttıkça performans artışı sağlanır. Parallelism de artar, bu sayede hem mesajları okuyabilir hem de mesaj yazılabilir.
  • Partitionlarda bulunan bilgiler sonsuza kadar saklanmaz.

Partition offset

  • Mesajların pozisyonlarını belirlemek için kullanılır.
  • Her mesaj için bir offset tanımı yapılır. Bu tanımlar, zookeeper’da tutulur.
  • Bu offsetler, “Consumer” ın mesajları sıralı bir biçimde okumasını sağlar.
  • İki farklı partitionda bulunan offsetler aynı olsa bile içindeki mesajlar aynı değildir. Partition1.offset[5] != Partition3.offset[5]

Zookeeper

  • Brokerları yönetir.
  • Brokerlarda gönderilen veriler zookeeper üzerinde saklanmaz.
  • Apache lisanslı açık kaynak bir yazılımdır.

Producer

  • Kafka brokerlara mesaj yazan uygulamadır.

Consumer

  • Kafka brokerlarda bulunan mesajları okuyan uygulamadır.

Herkese iyi günler diliyorum!

--

--

Çiğdem Kadakoğlu
Çiğdem Kadakoğlu

Written by Çiğdem Kadakoğlu

Docker Captain🐳🇹🇷👩‍✈️ | Microsoft MVP | Instructor | Senior Cloud&DevOps Engineer | CK{A|AD}-AZ{104|204|305|400|800|801|900}-DP900-AI{900|102}-PL900-MS900

Responses (1)