🌟 Neden Kafka Kullanılmalı?
Bu bölümde Neden Kafka Kullanılmalı? konusunu netleştirip uygulamada kullanacağınız temel noktaları özetliyoruz.
Ölçeklenebilir Mesajlaşma: Büyük veri hacimlerini sorunsuz bir şekilde işleyin.
Hata Toleransı: Veri dayanıklılığı ve yüksek erişilebilirlik sağlar.
Gerçek Zamanlı Veri İşleme: Verileri anında işleyin ve analiz edin.
Kolay Entegrasyon: Kafka, Spring Boot ile etkin bir geliştirme için kolayca entegre edilebilir.
📋 Gereksinimler
📋 Aşağıdakilere sahip olduğunuzdan emin olun:
☕ Java Development Kit (JDK) 17+
📦 Maven veya Gradle yüklenmiş
🔠 Bir Java IDE (IntelliJ IDEA, Eclipse gibi)
🔠 Apache Kafka, yüklenmiş ve çalışır durumda
🛠️ Adım 1: Bağımlılıkları Ekleyin
Kafka'yı Spring Boot projenize entegre etmek için aşağıdaki bağımlıkları ekleyin:
XML pom.xml
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
GROOVY build.gradle
implementation 'org.springframework.kafka:spring-kafka'
🛠️ Adım 2: Kafka'yı Yapılandırın
Kafka bağlantısını application.properties veya application.yml dosyasında yapılandırın:
PROPERTIES application.properties
spring.kafka.bootstrap-servers=localhost:9092
spring.kafka.consumer.group-id=my-group
spring.kafka.consumer.auto-offset-reset=earliest
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.springframework.kafka.support.serializer.JsonSerializer
spring.kafka.consumer.value-deserializer=org.springframework.kafka.support.serializer.JsonDeserializer
spring.kafka.consumer.properties.spring.json.trusted.packages=*
🛠️ Adım 3: JSON Mesajlar için Bir Model Oluşturun
Bu bölümde Adım 3: JSON Mesajlar için Bir Model Oluşturun konusunu netleştirip uygulamada kullanacağınız temel noktaları özetliyoruz.
Model Sınıfı
Bu model, producer, consumer ve controller katmanları arasında taşınan mesaj sözleşmesini tanımlar.
🛠️ Adım 4: Kafka Producer ve Consumer Uygulamaları
Bu bölümde Adım 4: Kafka Producer ve Consumer Uygulamaları konusunu netleştirip uygulamada kullanacağınız temel noktaları özetliyoruz.
Producer Örneği
Bu producer örneği, mesajların hedef topic’e nasıl tutarlı biçimde gönderileceğini gösterir.
Consumer Örneği
Bu consumer örneği, gelen mesajların nasıl okunup işlendiğini açıkça gösterir.
Controller Örneği
Bu controller, mesaj akışını tetiklemek ve sonucu doğrulamak için sade bir API yüzeyi sağlar.
▶️ Uygulamayı Çalıştırma
Uygulamayı aşağıdaki komutla çalıştırın:
BASH
./mvnw spring-boot:run
🧪 API'yi Test Etme
Kafka Producer apisini cURL veya Postman kullanarak test edebilirsiniz:
BASH
curl -X POST "http://localhost:8080/kafka/publish" \
-H "Content-Type: application/json" \
-d '{"id": "123", "content": "Hello Kafka!"}'
🏁 Sonuç
Artık Kafka Entegrasyonu için üretim odaklı bir Spring Boot temeliniz var. Sonraki adımda ayarları kendi domainine uyarlayıp test ve gözlemlenebilirlik katmanını ekleyerek gerçek trafik altında doğrulayın.