Açıklama
Bu eğitimin amacı; Producer ve Consumer mimarisini temelden başlayarak ileri seviyeye taşımaktır. Üretici tarafında anahtar/partition seçimi, batching/linger, acks, idempotent producer ve transactional işlemler; tüketici tarafında consumer group, yeniden dengeleme (cooperative-sticky), offset yönetimi, backpressure ve concurrency kalıpları gibi kritik konuları derinlemesine ele alacağız. Ayrıca teslimat garantileri (at-most/at-least/exactly-once), hata yönetimi (retry, gecikmeli tekrar, DLQ), sipariş/sıralama (ordering) stratejileri, sıkıştırma ve performans ayarlarıyla üretim ortamlarında dayanıklı ve yüksek verimli veri akışları kurmayı hedefleyeceğiz.
Eğitim Sonu Kazanımları
- Producer tarafında key/partition stratejileri, batching/linger, acks, idempotent ve transactional üretim yapılarını doğru senaryolara uygulayarak düşük gecikmeli ve güvenilir yazma işlemleri kurabileceksiniz.
- Consumer tarafında group yönetimi, cooperative-sticky rebalancing, offset/commit politikaları, pause/resume ve concurrency kalıplarını kullanarak ölçeklenebilir ve düzenli tüketim desenleri tasarlayabileceksiniz.
- Teslimat garantileri, hata yönetimi (retry/DLQ), sıralama stratejileri, sıkıştırma ve performans ayarlarıyla üretim ortamında gözlemlenebilir, dayanıklı ve yüksek verimli uçtan uca veri akışları işletebileceksiniz.
Hedef Kitle
- Backend geliştiriciler ve mikroservis ekipleri
- Veri mühendisleri ve platform ekipleri
- Kafka üzerinde yüksek hacimli üretim/tüketim senaryolarını yöneten ekipler
- Consumer lag, throughput ve teslimat garantileri konularını iyileştirmek isteyenler
Eğitim İçeriği
Temeller ve Producer Derinleşme
- Hızlı Kafka Tekrarı: topic, partition, key ve ordering ilişkisi
- Producer mimarisi: buffer, batch, linger.ms, compression.type
- acks, retries, delivery.timeout.ms ve hata senaryoları
- Idempotent producer ve transactional outbox yaklaşımı
- Key/partition stratejileri: hot partition riskleri ve azaltma
- Performans pratikleri: throughput vs latency dengesi
- Lab: Java ile Producer Örneği (Hands-on)
Consumer Derinleşme ve Tüketim Kalıpları
- Consumer group ve partition ataması: range vs sticky vs cooperative-sticky
- Rebalancing mekanizmaları, assignment stratejileri ve minimizasyonu
- Offset yönetimi: at-least-once yaklaşımları, commit politikaları
- Backpressure: pause/resume, poll döngüsü ve max.poll.* ayarları
- Concurrency kalıpları: tek consumer-çok worker, multiple consumer, partition başına worker
- Hata yönetimi: retry topic, gecikmeli yeniden deneme, DLQ tasarımı
- Lab: Java ile Consumer Örneği (Hands-on)
Gelişmiş Konular, Performans ve Uygulama
- Teslimat garantileri: at-most/at-least/exactly-once; transactional tüketim-yazım zinciri
- Ordering ve idempotency: doğal sıralama, anahtar seçimi ve yeniden sıralama yöntemleri
- Sıkıştırma, batch boyutu ve fetch ayarlarının uçtan uca etkileri
- Gözlemlenebilirlik: lag ölçümü, uçtan uca gecikme ve metrik takibi
- Dayanıklılık pratikleri: timeout/geri alma (circuit breaker), hız sınırlama (rate limiting)
- Kısa senaryo: üretim–tüketim hattı için benchmark ve tuning egzersizi
- Lab: Kafka Monitoring Dashboard
Ön Koşullar
Java programlama konusunda giriş düzeyi bilgi sahibi olunması gereklidir
