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 #dotnet
Microservices Nedir, Ne Değildir? Independent Deployability ve Information Hiding
Yazılım Mimarisi SERİ 01

Microservices Nedir, Ne Değildir? Independent Deployability ve Information Hiding

Microservice, bir business domain etrafında modellenmiş ve diğerlerine dokunmadan deploy edilebilen service'tir; ölçüt boyut değil, independent deployability ve information hiding'dir. Lewis ve Fowler'ın dokuz özelliği, Newman'ın tanımı, contract ile iç modeli ayırmanın C#'taki karşılığı, SOA farkı ve Bookstore'un service adayları.

8 Kas 2026 11 dk 3
Microservice'lerin Bedeli: Ne Zaman Gereksiz, Ne Zaman Kaçınılmaz?
Yazılım Mimarisi SERİ 02

Microservice'lerin Bedeli: Ne Zaman Gereksiz, Ne Zaman Kaçınılmaz?

Microservices tek ekipli, ön koşulları (otomatik provisioning, monitoring, hızlı deploy) olmayan bir sistem için gereksizdir; birbirini bekleyen ekipler ve farklı ölçeklenen parçalar ölçülebilir hâle geldiğinde kaçınılmaz olur. Network çağrısının gerçek maliyeti ölçülerek, fallacies of distributed computing, Fowler'ın prerequisite'leri, Prime Video vakasının doğru okunuşu ve Bookstore için bir karar checklist'i.

8 Kas 2026 12 dk 4
Microservice'lerde Transaction Yok: Eventual Consistency'yi Tasarımla Kabullenmek
Yazılım Mimarisi SERİ 05

Microservice'lerde Transaction Yok: Eventual Consistency'yi Tasarımla Kabullenmek

Service'ler arasında distributed transaction (2PC) kullanılmaz; anında tutarlılık gereken kural tek service'te tutulur, birden fazla service'e yayılan akış saga ve compensating action'larla, event'ler outbox ile kurulur. TransactionScope'un Linux ve macOS'ta verdiği gerçek hata, choreography ile çalışan bir checkout saga'sı, domain'deki ara durumlar ve 202 Accepted ile kullanıcıya gösterilen eventual consistency.

8 Kas 2026 13 dk 3
Microservice İletişim Stilleri: Sync Request/Response, Async Event ve Temporal Coupling
Yazılım Mimarisi SERİ 06

Microservice İletişim Stilleri: Sync Request/Response, Async Event ve Temporal Coupling

Çağıran cevabı beklemek zorundaysa iletişim, kod ne kadar await'li olursa olsun senkrondur ve iki service'i temporal coupling ile birbirine bağlar; cevap şimdi gerekmiyorsa event ya da local kopya tercih edilir. REST, gRPC (deadline'ın server'a taşınması dahil) ve message karşılaştırması, Inventory deploy edilirken checkout simülasyonu, command ile event farkı ve bir karar tablosu.

8 Kas 2026 12 dk 3
Blog Haritası