Apache Kafka Nedir?

İngilizce: Apache Kafka

Apache Kafka, yüksek hacimli gerçek zamanlı veri akışlarını işlemek için tasarlanmış, dağıtık log tabanlı mesajlaşma platformudur.

Apache Kafka Nedir?

Apache Kafka, olayları sıraya koyup kısa süreli aktarmaktan daha fazlasını yapan, dağıtık bir event streaming platformudur. Mesajlar topic adı verilen akışlara yazılır; tüketiciler bu akışları kendi hızlarında okuyarak sipariş, stok, log veya sensör verisi gibi olayları işler.

Kafka’nın temelinde broker, topic, partition, producer ve consumer kavramları bulunur. Producer mesajı belirli bir topic’e yazar, topic partition’lara bölünerek paralel işlenebilir, broker’lar veriyi çoğaltır ve consumer grupları hangi offset’e kadar okuduklarını takip eder. Bu yapı hem yüksek hacim hem de olay geçmişini belirli bir süre saklama ihtiyacı için uygundur.

İş Senaryoları

  • Sipariş oluşturuldu, ödeme alındı, kargo çıktı gibi olayların sistemler arasında taşınması
  • Veritabanı değişikliklerinin başka sistemlere aktarılması
  • Log, metrik ve kullanıcı davranışı akışlarının gerçek zamanlı işlenmesi
  • Mikroservisler arasında gevşek bağlı iletişim kurulması

Kafka basit bir kuyruk yerine işletilmesi gereken bir altyapıdır: şema yönetimi, partition tasarımı, yeniden deneme, idempotency ve dead-letter akışları baştan planlanmalıdır. Daha küçük ihtiyaçlarda klasik mesaj kuyruğu, olay odaklı tasarımda event-driven ve hatalı kayıt yönetiminde dead-letter queue kavramları önemlidir.