Büyük Veri

Apache Kafka ile Gerçek Zamanlı Veri Akışı Mimarisi

Event-driven mimarilerin belkemiği olan Kafka, doğru kurgulandığında operasyonel sistemler ile analitik katman arasındaki bağı kökten değiştirir.

BIART Ekibi2 dk okuma1 görüntüleme
Distributed sistem ve devre kartı görseli

Bir bankanın müşteri işlemi saniyeler içinde dolandırıcılık skoruna dönüşmek zorunda. Perakendede stok sayacı, siparişlerle eş zamanlı güncel kalmazsa kampanyalar hatalı çalışır. Bu gibi senaryolarda batch pipeline'lar yetersiz kalır ve Apache Kafka temelli event streaming mimarileri devreye girer.

Kafka Ne Yapar?

Kafka bir dağıtık mesaj kuyruğu değil, dayanıklı bir distributed log'tur. Üretici sistemler (producers) mesajları topic'lere yazar; tüketiciler (consumers) bu topic'leri okur. Mesajlar tutulma süresi boyunca (gün, hafta, sonsuz) yeniden okunabilir — bu Kafka'yı klasik message queue'lardan farklılaştıran özelliktir.

Mimari Desenler

Kafka üzerine kurulu mimarilerde üç yaygın desen öne çıkar:

  1. Event Sourcing: Uygulama state'i bir event log olarak tutulur; güncel state event'lerin sıralı işlenmesiyle oluşturulur.
  2. CDC (Change Data Capture): Debezium gibi araçlarla operasyonel veritabanından tüm değişiklikler Kafka'ya akar, analitik katman batch değil stream olarak senkronize olur.
  3. Stream Processing: Kafka Streams, Apache Flink veya Spark Structured Streaming ile event'ler üzerinde pencere tabanlı agregasyonlar gerçek zamanlı hesaplanır.

Üretim Ortamında Kritik Kararlar

  • Replication factor 3: Veri kaybını önlemek için minimum standart.
  • Partitioning stratejisi: Key seçimi, partition içi sıralamanın korunmasını belirler. Müşteri bazlı işlemler için customer_id'ye göre partition en yaygın seçim.
  • Schema Registry: Producer ve consumer arasındaki şema uyumunu Avro/Protobuf ile yönetmek, üretim kaostan kurtarır.
  • Monitoring: Consumer lag, broker disk doluluğu ve under-replicated partition sayısı sürekli izlenmesi gereken üç temel metrik.

Kafka Kurumsalda Ne Zaman Doğru Seçim?

Her veri akışı Kafka'ya taşınmamalıdır. Günde bir kez çalışan batch pipeline'lar için Airflow ile ETL yeterlidir. Kafka'nın değeri, gecikme kritik olan (saniye altı) ve birden fazla tüketicinin aynı event'i farklı amaçlarla kullandığı senaryolarda ortaya çıkar.

Pratik Bir Örnek

CDC bazlı bir Kafka entegrasyonu, gün sonu raporların üretim süresini saatler mertebesinden dakikalara çekebilir. Anahtar başarı, Schema Registry'nin ilk günden kurulması ve consumer gruplarının iş bazlı (risk, CRM, analitik) ayrıştırılmasıydı.

Sonuç

Kafka sadece bir teknoloji değil, operasyonel ve analitik dünyaların buluştuğu mimari kararın adıdır. Doğru partitioning, şema yönetimi ve gözlemlenebilirlikle kurulan Kafka altyapısı, kurumun gerçek zamanlı karar verme kapasitesini kökten değiştirir.

Paylaş