Apache Kafka - Temel Bilgiler

Kafka'nın derinliklerine inmeden önce konular, komisyoncular, üreticiler ve tüketiciler gibi ana terminolojilerin farkında olmalısınız. Aşağıdaki şema ana terminolojileri göstermektedir ve tablo, şema bileşenlerini ayrıntılı olarak açıklamaktadır.

Yukarıdaki diyagramda, bir konu üç bölüm halinde yapılandırılmıştır. Bölüm 1, 0 ve 1 olmak üzere iki ofset faktörüne sahiptir. Bölüm 2'nin 0, 1, 2 ve 3 olmak üzere dört ofset faktörü vardır. Bölüm 3'ün bir ofset faktörü 0 vardır. Çoğaltmanın kimliği, onu barındıran sunucunun kimliğiyle aynıdır.

Varsayalım, konunun çoğaltma faktörü 3 olarak ayarlanmışsa, Kafka her bölümün 3 özdeş kopyasını oluşturacak ve tüm işlemleri için kullanılabilir hale getirmek için bunları kümeye yerleştirecektir. Kümedeki bir yükü dengelemek için, her aracı bu bölümlerden bir veya daha fazlasını depolar. Birden çok üretici ve tüketici aynı anda mesaj yayınlayabilir ve alabilir.

S.No Bileşenler ve Açıklama
1

Topics

Belirli bir kategoriye ait bir mesaj akışına konu denir. Veriler konular içinde saklanır.

Konular bölümlere ayrılmıştır. Kafka, her konu için bir bölümün küçük bir annesini tutar. Bu tür her bölüm, değişmez bir sırayla mesajlar içerir. Bir bölüm, eşit boyutlarda bir dizi bölüm dosyası olarak uygulanır.

2

Partition

Konular çok sayıda bölüme sahip olabilir, bu nedenle keyfi miktarda veriyi işleyebilir.

3

Partition offset

Her bölümlenmiş mesaj, ofset adı verilen benzersiz bir sıra kimliğine sahiptir .

4

Replicas of partition

Replikalar, bir bölümün yedeklerinden başka bir şey değildir . Kopyalar asla veri okumaz veya yazmaz. Veri kaybını önlemek için kullanılırlar.

5

Brokers

  • Komisyoncular, yayınlanan verilerin korunmasından sorumlu basit bir sistemdir. Her aracının konu başına sıfır veya daha fazla bölümü olabilir. Bir konuda N bölüm ve N sayıda aracı varsa, her aracının bir bölümü olacağını varsayalım.

  • Bir konuda N bölüm varsa ve N aracıdan (n + m) fazla ise, ilk N aracısının bir bölümü olacağını ve sonraki M aracısının bu belirli konu için herhangi bir bölümü olmayacağını varsayalım.

  • Bir konuda N bölüm varsa ve N aracıdan (nm) daha az bölüm varsa, her aracının aralarında bir veya daha fazla bölüm paylaşımı olacağını varsayalım. Aracı arasında eşit olmayan yük dağılımı nedeniyle bu senaryo önerilmez.

6

Kafka Cluster

Kafka'nın birden fazla komisyoncusu olması Kafka kümesi olarak adlandırılır. Bir Kafka kümesi kesinti olmadan genişletilebilir. Bu kümeler, mesaj verilerinin kalıcılığını ve replikasyonunu yönetmek için kullanılır.

7

Producers

Yapımcılar, bir veya daha fazla Kafka konusuyla ilgili mesajların yayıncısıdır. Üreticiler verileri Kafka brokerlerine gönderir. Bir yapımcı bir komisyoncuya bir mesaj yayınladığında, komisyoncu mesajı son segment dosyasına ekler. Aslında mesaj bir bölüme eklenecektir. Yapımcı ayrıca kendi seçtiği bir bölüme mesaj gönderebilir.

8

Consumers

Tüketiciler, aracılardan veri okur. Tüketiciler bir veya daha fazla konuya abone olur ve brokerlardan veri çekerek yayınlanan mesajları tüketir.

9

Leader

Lider , verilen bölüm için tüm okuma ve yazma işlemlerinden sorumlu düğümdür. Her bölümün lider olarak hareket eden bir sunucusu vardır.

10

Follower

Lider talimatlarını takip eden düğüme takipçi denir. Lider başarısız olursa, takipçiden biri otomatik olarak yeni lider olacaktır. Bir takipçi normal bir tüketici gibi davranır, mesajları çeker ve kendi veri deposunu günceller.