Açıklama
“Kafka for Developers” eğitimi, yazılım geliştiricilere Apache Kafka’nın temel kavramlarını, yapısını ve kullanımını öğretmeyi amaçlamaktadır. Bu eğitim, katılımcılara Kafka’yı anlamalarını, uygulamalarında nasıl kullanacaklarını ve Kafka ile gerçek dünya projelerinde nasıl çalışacaklarını öğretir.
Kimler Katılmalı?
- Veri akışı uygulaması oluşturmak isteyen geliştiriciler
- Kafka’ya dayalı projelere başlayan veya Kafka projeleri üzerinde çalışan ekipler
Eğitim İçeriği
1. Gün: Apache Kafka’ya Giriş ve Producer/Consumer API
Apache Kafka’ya Giriş
- Kafka’nın Temelleri
- Kafka’nın Çalışma Modeli (Pub/Sub)
- Kafka Bileşenleri (Broker, Topic, Partition, Zookeeper)
Kafka Terminolojisi
- Topic, Partition, Offset, Producer, Consumer
- Consumer Group ve Consumer Lag Kavramları
Kafka ile İlk Uygulama (Java)
- Kafka Producer API ile Mesaj Gönderme
- Senkron ve Asenkron Mesaj Gönderimi
- Callback ile Error Handling
- Kafka Consumer API ile Mesaj Okuma
- Consumer Group ile Paralel Veri İşleme
Kafka ile İlk Uygulama (Python)
- KafkaProducer ve KafkaConsumer Kütüphaneleri
- Basit Producer ve Consumer Uygulaması
- Consumer Lag İzleme ve Offset Yönetimi
- Python ile Error Handling
2. Gün: İleri Seviye API Kullanımı ve Veri Serileştirme
Java ile İleri Seviye Kafka Uygulamaları
- Custom Partitioner Yazma
- Custom Serializer/Deserializer Kullanma
- Avro ve Protobuf ile Mesaj Serileştirme
- Producer ve Consumer Konfigürasyonları
- High Throughput için Performans Ayarları
Python ile İleri Seviye Kafka Uygulamaları
- Custom Serializer/Deserializer Yazma
- Mesaj Serileştirme (JSON, Avro, Protobuf)
- Offset Yönetimi ve Manual Commit
- Python Consumer için Parallel Processing
Kafka Streams API (Java)
- Kafka Streams API ile Gerçek Zamanlı Veri İşleme
- Stream-Table Join Örnekleri
- Stateless ve Stateful Transformations
- Windowing Kavramı
Kafka-Python Streams Kullanımı
- Basit Stream Processing Uygulamaları
- Stream Aggregation ve Filtering Örnekleri
3. Gün: Uygulama Geliştirme ve Dağıtım
Gerçek Zamanlı Veri İşleme Projesi (Java)
- Birden Fazla Topic’ten Veri Okuma ve İşleme
- İşlenmiş Veriyi Farklı Bir Topic’e Yazma
- Transactional Producer Kullanımı
Gerçek Zamanlı Veri İşleme Projesi (Python)
- Farklı Veri Kaynaklarından Veri Okuma
- Veri Dönüşümü ve Yeni Topic’e Yazma
- Uygulama Loglama ve Error Handling
Docker ile Kafka Uygulamalarını Dağıtma
- Kafka, Zookeeper ve Uygulamalar için Docker Compose
- Java ve Python Uygulamalarını Dockerize Etme
- Local Cluster Üzerinde Test Senaryoları
Kafka Uygulamaları için CI/CD
- Pipeline Yapılandırması
- Kafka Tabanlı Uygulamaların Test Edilmesi
- Deployment Stratejileri
Güvenlik ve Yetkilendirme
- SSL/TLS ile Şifreleme
- SASL/PLAIN ile Kimlik Doğrulama
- ACL ile Yetkilendirme
Ön Koşullar
Java programlama konusunda giriş düzeyi bilgi sahibi olunması gereklidir
