🔗 Kafka Ekosistemi & Entegrasyonlar

Kafka Ekosistemi & Entegrasyonlar: Kafka, dağıtık bir sistemde her gönderenin paketini bıraktığı ve her alıcının paketini aldığı merkezi bir postane gibi dağıtılmış sistemdeki ko

Kafka, dağıtık bir sistemde her gönderenin paketini bıraktığı ve her alıcının paketini aldığı merkezi bir postane gibi dağıtılmış sistemdeki konumunu işgal eder: hiçbir gönderici alıcının ev adresini bilmek zorunda değildir — postane yönlendirmeyi, depolamayı ve teslimat garantilerini yönetir. Bu karşılaştırmayı yapısal olarak doğru kılan şey, Kafka'nın her servis çifti arasında oturmasıdır: microservice'ler birbirini doğrudan çağırmak yerine event'leri Kafka'ya gönderir, bu da yeni bir consumer eklemek için producer'ı hiç değiştirmemeniz anlamına gelir — sadece topic'e abone olun. Peki bir dağıtık log üzerine neden tüm bir ekosistem (Kafka Streams, Schema Registry, Debezium, Strimzi) inşa edilir? Çünkü her entegrasyon farklı bir güvenilirlik sorununu çözer: Schema Registry bozulan API değişikliklerinin consumer'ları çökertmesini engeller, Debezium yük altında değişiklikleri kaçıran polling döngüsünü ortadan kaldırır, Kafka Streams harici bir veritabanı olmadan durumsal işlemeyi mümkün kılar ve Strimzi cluster yönetimini Kubernetes'te bildirimsel hale getirir. Java açısından, bu ekosistem Spring framework'ün kendisini yansıtır: core (Kafka) temel konuları yönetir, modüller (Streams, Connect) domain'e özgü güç ekler ve her modül bağımsız olarak benimsenebilir. QA için ekosistemi anlamak operasyonel önem taşır: bir Elasticsearch indeksi veritabanıyla senkrondan çıktığında, kök neden neredeyse her zaman bir Debezium connector gecikmesi veya Schema Registry uyumsuzluğudur.

Kafka vs Diğer Mesajlaşma Sistemleri

Kafka + Spring Boot: Tam Entegrasyon

Spring Boot + Spring Kafka, Java enterprise'da en yaygın Kafka entegrasyonudur. JPA'nın JDBC'yi soyutlaması gibi, Spring Kafka ham Kafka Producer/Consumer API'sini soyutlar. Anahtar annotation'lar: @KafkaListener (consumer), KafkaTemplate (producer), @EnableKafka (config).

Spring Kafka Producer + Consumer + Test — tam örnek

Micro Lab: Kod yazma

TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.

Adim Adim: Kod yazma

Amaci ve girdiyi belirle

Kritik satiri tamamla

Cikti veya davranisi kontrol et

Hata mesajini kanit olarak oku

Duzeltmeyi tekrar calistir

Kod okuma ve dogrulama akisini sirala.