⚙️ Apache Kafka Kurulumu

Apache Kafka Kurulumu: Geliştirme ortamı için Kafka kurmak, laboratuvar için özel bir güç trafosu çekmeye benzer: ulusal şebekeyi yeniden kablolamamak — tam olarak ihtiyaç duyduğ

Geliştirme ortamı için Kafka kurmak, laboratuvar için özel bir güç trafosu çekmeye benzer: ulusal şebekeyi yeniden kablolamamak — tam olarak ihtiyaç duyduğunuz voltajı sağlayan, oturum bitince kapatılabilen kendi kendine yeterli bir trafo kutusu çalıştırmak. Tek bir `docker-compose up` bunu yapar: ZooKeeper (koordinasyon kaydı) ve Kafka broker'ı birlikte başlatır, portlar ve ağ bağlantıları önceden ayarlanmış olarak, 30 saniyeden kısa sürede. Peki geliştirme ortamında zaten yerel bir veritabanı varken neden ayrıca çalışan bir Kafka cluster'ına ihtiyaç duyarsınız? Çünkü uygulamanız sipariş oluşturma, envanter güncellemesi veya ödeme onayı için Kafka event'leri yayınlıyorsa, hiçbir mock veri yalnızca bir partition'ın yavaş takip ettiğinde ortaya çıkan race condition'ı ortaya çıkaramaz. Java'da yerel Kafka'yı Docker Compose ile başlatmak, birim testleri için H2 in-memory veritabanı çalıştırmakla yapısal olarak aynıdır — hafif, izole, tek kullanımlık. QA ekipleri için operasyonel kural açıktır: Kafka cluster'ına bağlı entegrasyon testleri ancak o cluster tek bir komutla başlatılabiliyorsa commit'lenebilir; test ortamı manuel Kafka kurulumu gerektiriyorsa test CI'da atlanır ve hatalar production'a ulaşır.

Kurulum Seçenekleri Karşılaştırması

Seçenek 1: Docker Compose (Tavsiye Edilen)

Adım 1: Docker Desktop kurulumu

Docker Desktop Kurulumu docker-compose'u Neden Öncelikli Gerektirir?

İşletim sistemine göre paket yöneticisi…

İşletim sistemine göre paket yöneticisi (winget/brew/apt) Docker Desktop'ı veya docker.io paketini indirir — bu, Kafka değil, Kafka'yı içinde çalıştıracak container motorudur.

Docker Desktop başlatılır ve taskbar'da…

Docker Desktop başlatılır ve taskbar'da balina ikonu görünür — bu, Docker daemon'unun (arka plan servisi) hazır olduğunun tek görsel kanıtıdır.

docker --version ve docker compose version…

`docker --version` ve `docker compose version` komutları, CLI'ın daemon'a bağlanabildiğini doğrular — daemon çalışmıyorsa bu komutlar "Cannot connect" hatası verir.

Bu doğrulama atlanırsa…

Bu doğrulama atlanırsa, bir sonraki adımdaki `docker compose up` komutu "daemon not running" hatasıyla anında başarısız olur — kurulumun geri kalanı bu ön koşula bağımlıdır.

Adım 2: docker-compose.yml oluştur