Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
4 yazı bulundu #kafka
.NET'te Message Queue ile Çalışmaya Giriş: RabbitMQ, Azure Service Bus ve Kafka Client'ları, Hangi Durumda Hangisi
Backend SERİ 01

.NET'te Message Queue ile Çalışmaya Giriş: RabbitMQ, Azure Service Bus ve Kafka Client'ları, Hangi Durumda Hangisi

Esnek yönlendirme ve mesaj bazında ack/retry için RabbitMQ, Azure'da yönetilen servis için Azure Service Bus, yüksek hacim ve replay için Kafka; seri raw client ile başlayıp abstraction'lara geçiyor. Üç broker'ın modeli, pratik karşılaştırma tablosu, aynı OrderPlaced'ı üç client ile gönderip okuyan program, Docker Compose ortamı ve Amazon SQS/SNS notu.

8 Kas 2026 11 dk 5
Confluent.Kafka ile .NET'te Kafka: Producer, Consumer Group, Offset Commit ve Rebalance
Backend SERİ 05

Confluent.Kafka ile .NET'te Kafka: Producer, Consumer Group, Offset Commit ve Rebalance

Producer'ı singleton tut, key ile sıra, Acks=All ve idempotence kullan, dispose öncesi Flush et; consumer'da EnableAutoOffsetStore=false ile işlem sonrası StoreOffset yap ve poison mesajı dead-letter topic'e yaz. Varsayılan auto commit'in yarım kalan mesajı atlaması, kill -9 sonrası tekrar, eager rebalance, KIP-848 ve consumer lag gerçek çıktılarla.

8 Kas 2026 12 dk 4
Mesaj Contract'ları: Serialization, Versioning ve Geriye Dönük Uyumluluk
Backend SERİ 06

Mesaj Contract'ları: Serialization, Versioning ve Geriye Dönük Uyumluluk

Contract'ı domain entity'sinden ayrı record'larla tut, yalnızca opsiyonel alan ekleyerek ilerle, System.Text.Json'da RespectRequiredConstructorParameters ve RespectNullableAnnotations'ı aç, sürümü type header'ında taşı. Varsayılan ayarlarla rename'in 0 TL'lik faturaya dönüşmesi, enum'a eklenen değerin eski consumer'ı kırması ve Schema Registry'nin uyumsuz şemayı 409 ile reddetmesi gerçek çıktılarla.

8 Kas 2026 10 dk 5
Mesajlaşmada Observability: OpenTelemetry Trace Context, Queue Depth ve Consumer Lag
Backend SERİ 12

Mesajlaşmada Observability: OpenTelemetry Trace Context, Queue Depth ve Consumer Lag

RabbitMQ.Client 7'nin hazır ActivitySource'unu dinle, Kafka'da traceparent'ı propagator ile header'a kendin yaz; bir siparişin API, RabbitMQ, Billing, Kafka ve Notification yolculuğu tek trace'te beş span olarak görünür. Log scope'unda MessageId ve CorrelationId, messaging.process.duration histogram'ı, kardinalite, queue depth ve Kafka consumer lag ölçümü gerçek çıktılarla.

8 Kas 2026 11 dk 4
Blog Haritası