Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Saga'yı .NET'te Uygulamak: Persist Edilen State Machine, Timeout ve Compensation
Bir saga'yı .NET'te güvenilir kılmak için state'ini correlation id ile bulunan ve concurrency token taşıyan bir tabloda saklar, kararı (adım, message) çiftini eşleyen saf bir switch expression'a bırakır, command'ları aynı transaction'da outbox'a yazar ve her bekleme adımına o adıma bağlı bir timeout koyarsın. EF Core ve SQLite ile kayıp ödeme cevabı, timeout yarışı, geç gelen ödeme ve başarısız refund senaryoları gerçek çıktılarla; aynı saga MassTransit 8 ve Wolverine ile, lisans notlarıyla.
Mediator'lı Slice: MediatR, Mediator (Source Generator) ve Wolverine Karşılaştırması
Slice'larda mediator'ın asıl getirisi giriş noktasından bağımsız bir pipeline'dır; Kasım 2026 itibarıyla MediatR 14.3 RPL 1.5 ya da ticari lisanslı, Mediator 3.0.2 ve Wolverine 6.62 MIT lisanslı. Aynı PlaceOrder slice'ını üç araçla ve mediator'sız bir endpoint filter'la yazıp dispatch maliyetini, ilk istek süresini, Native AOT davranışını ve her aracın gerçek kurulum tuzaklarını karşılaştırıyoruz.