Kafka nedir?
Bu asenkron API, Apache Kafka protokolü kullanılarak uygulanmaktadır. Hata toleranslı olacak şekilde tasarlanmış olan, gerçek zamanlı veri beslemelerinde yüksek verim ve düşük gecikme platformu sunan etkinlik yayınla-abone ol platformudur.
Kafka bir ya da daha çok sunucu kümesi (Kafka aracıları) olarak çalışır. Yük, sunucular arasında dağıtılarak küme genelinde dengelenir.
Temel kavramlar
Konu
Konular adlı kategorilerde bir ileti akışı saklanır. Konular, bir AsyncAPI belgesindeki kanallar olarak gösterilir. Her konu bir veya daha çok bölümden oluşur. Her bölüm, iletilerin sıralı listesidir. Bir bölümdeki iletilerin her biri, offset olarak adlandırılan tekdüze artan bir sayıdır.
İleti/Kayıt
Kafka içindeki, iki bölümden oluşan veri birimi: üstbilgiler ve değer. Üstbilgiler genellikle iletiyle ilgili veriler için kullanılır ve değer, iletinin gövdesidir.
Üretici
Kafka konularına ileti akışları yayınlayan bir işlem. Bir üretici bir ya da daha çok konuyu yayınlayabilir ve isteğe bağlı olarak, verileri saklayan bölümü seçebilir.
Tüketici
Kafka konularından ileti tüketen ve iletilerin besleme akışını işleyen bir işlem. Bir tüketici bir ya da daha fazla konu ya da bölümden tüketim yapabilir.
Tüketici grubu
Bir grup konu kümesinden gelen iletileri tüketen bir ya da daha çok tüketicinin adlandırılmış bir grubu. Gruptaki her tüketici, atandığı her bir bölümdeki iletileri okur. Her bölüm, gruptaki yalnızca bir tüketiciye atanır. Atama, 'client.id' ve 'group.id' Tüketici özellikleri tarafından denetlenir.
Bu API'den tüketme
Bağlantı kurmak ve abone olmak için bir Kafka istemcisi gerekir. Farklı programlama dilleri için Kafka istemci kütüphaneleri bulunmaktadır ve her bir kanal için örnek kod, Kafka Tüketicisi
kullanan etkinlikleri tüketmek için Java Kafka istemcisini kullanmanın bir başlangıç noktasıdır.