Apache Kafka: Modern Uygulamaların "Olay Akışı" Omurgası
LinkedIn'de doğdu, dünyaya yayıldı. Bugün finans, e-ticaret, IoT — her büyük şirketin gerçek-zamanlı veri akışı Kafka üzerinden.

"Veriyi anlık akıt"
Klasik veritabanı: durağan durum. "Şu an müşterinin bakiyesi ne?"
Modern uygulama: akış. "Müşteri her saniye ne yapıyor? Hangi olaylar geliyor?"
Bu fark için: streaming. Apache Kafka modern standartı.
Sorun
LinkedIn 2010'larda milyarlarca olay:
- Kullanıcı tıklamaları.
- Profil güncellemeleri.
- Mesajlar.
- Reklam görüntülemeleri.
Tüm bu olaylar farklı sistemlere ulaşmalı:
- Veri ambarı.
- Öneri sistemi.
- Spam tespiti.
- Görüntüleme analitiği.
Her sistem kendi entegrasyonu yazıyordu → N×M karmaşıklığı.
Çözüm: Olay log'u
Tek bir merkezi log. Tüm üreticiler buraya yaz. Tüm tüketiciler buradan oku.
[Servisler] --> [Kafka log] --> [Tüketici sistemler]
N+M karmaşıklığı → çok daha temiz.
Mimari
Producer
Veri üretir, Kafka topic'ine yazar.
Topic
Mantıksal kategori. Örnek: "tıklamalar", "ödemeler".
Partition
Topic paralel bölümlere ayrılır. Her partition sıralı.
Broker
Kafka sunucusu. Bir cluster'da 3-100+ broker.
Consumer
Topic'ten okur, işler.
Consumer Group
Birden fazla consumer paralel çalışır. Her partition bir consumer'a.
Özellikleri
- Kalıcı: log diske yazılır, replikasyon var.
- Sıralı: partition içinde tam sıralı.
- Yüksek throughput: milyon+ mesaj/saniye.
- Düşük gecikme: ms seviyesi.
- Replay: geçmişe gidip tekrar oku.
RDBMS, mesaj kuyruğu farkı
| RDBMS | Mesaj kuyruğu (RabbitMQ) | Kafka | |
|---|---|---|---|
| Veri tipi | Mevcut durum | Geçici mesaj | Sıralı log |
| Saklama | Sınırsız | Tüketim sonrası sil | Konfigüre edilebilir (gün/ay) |
| Replay | SQL | Yok | Doğal |
| Throughput | Orta | Orta | Çok yüksek |
| Garanti | ACID | At-least-once | At-least-once / exactly-once |
Kafka Streams
Kafka işleme: SQL benzeri stream transformation.
builder.stream("tiklamalar")
.filter((k, v) -> v.user.isVip)
.groupByKey()
.count()
.to("vip-tiklama-sayisi");
Anlık analitik.
Kafka Connect
Hazır entegrasyonlar:
- MySQL → Kafka (CDC).
- Kafka → S3.
- Kafka → Elasticsearch.
Connector ekosistemi: 100+ bağlantı.
Confluent
Kafka mucitleri (Jay Kreps, Neha Narkhede, Jun Rao) 2014'te Confluent şirketini kurdu.
- Confluent Cloud: managed Kafka.
- Confluent Platform: enterprise özellikler.
- NASDAQ'da işlem görüyor (2021).
Modern alternatifler
- Apache Pulsar: Yahoo, multi-tenant.
- AWS Kinesis: yönetilen.
- Google Pub/Sub: yönetilen.
- NATS: hafif, modern.
- Redpanda: Kafka uyumlu, C++ ile yazılmış, daha hızlı.
Event-driven mimari
Kafka olay tabanlı mikroservislerin omurgası:
- Her servis kendi durum'unu yönetir.
- Önemli olayları Kafka'ya yayar (publish).
- Diğer servisler ilgilendiği olayları dinler (subscribe).
- Loose coupling, scalability.
CQRS ve Event Sourcing
İleri seviye desenler:
- CQRS: Command Query Responsibility Segregation — yazma ve okuma ayrı.
- Event Sourcing: durum saklamak yerine olayları sakla, durum türetilir.
Her ikisi de Kafka'ya doğal uyar.
Modern AI'da Kafka
- ML training: Kafka'dan akış halinde veri tüketimi.
- Online learning: model gerçek zamanlı güncellenir.
- Feature pipeline: Feast + Kafka.
- LLM monitoring: çıktıların akış halinde log'lanması.
Türk endüstri örnekleri
- Trendyol: sipariş olayları Kafka üzerinden.
- Garanti BBVA: işlem akışı Kafka.
- Türkcell: çağrı kayıtları, baz istasyonu logları.
- TÜBİTAK: araştırma veri pipeline'ı.
Zorluklar
- Karmaşıklık: ZooKeeper, broker yönetimi.
- Performans tuning: partition sayısı, retention.
- Schema yönetimi: Avro + Schema Registry.
- Exactly-once: ileri seviye konfigürasyon.
Felsefe
Kafka temel mesajı: "Veri bir akış, değişen durum sadece akışın özeti".
Bu Heraclitus felsefesi: "Aynı nehre iki kez girilmez".
Kapanış
Apache Kafka, modern dağıtık sistemlerin sinir sistemi. Olay tabanlı düşünce + paralel ölçeklenme + kalıcı log = modern bulut yapısının taşı.
Bir mühendisin olgunluk işareti: veritabanı değil olay düşünmek.
Etiketler
Kendinizi Test Edin
Cevaplarınız profilinizde istatistik olarak saklanır.
1. Kafka kim çıkardı?
2. Temel veri modeli?
3. Klasik mesaj kuyruğu farkı?
4. Confluent ne?
5. Modern alternatif?
İlgili Yazılar
Sekreter Problemi: Hayatın En İyi Seçimini Yapmak için "%37 Kuralı"
Bir işe alma görüşmesi, bir ev arama süreci, hatta hayat arkadaşı seçimi… Hepsinin altında aynı klasik matematik problemi yatar. Cevap şaşırtıcı biçimde tek bir sayıya bağlıdır: %37.
MatematikPisagor Teoremi ve Saklı Bir Sır: İrrasyonel Sayılar Nasıl Keşfedildi?
Dik üçgenlerle ilgili o ünlü kural, aynı zamanda matematik tarihinin en sarsıcı keşfine yol açtı: kesir olarak yazılamayan sayılar. Üstelik bu keşif, bir bilim topluluğunu temellerinden sarstı.
MatematikFibonacci Dizisi ve Altın Oran: Tavşanlardan Ayçiçeklerine Uzanan Örüntü
Bir tavşan üretme bilmecesiyle başlayan basit bir sayı dizisi, ayçiçeği tohumlarından çam kozalaklarına, deniz kabuklarından galaksilere kadar doğanın her yerinde nasıl karşımıza çıkıyor?