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
3 yazı bulundu #channels
Worker Service ve In-Process Job Queue: Channel, PeriodicTimer ve Windows Service/systemd
Backend SERİ 03

Worker Service ve In-Process Job Queue: Channel, PeriodicTimer ve Windows Service/systemd

Bounded Channel ile kurulan in-process job queue, dolduğunda TryWrite false döner; endpoint bunu Retry-After başlıklı bir 503'e çevirerek backpressure uygular. Periyodik iş için PeriodicTimer kaçırılan tick'leri biriktirmez, uzun süren bir turdan sonra en fazla bir kez hemen tetiklenir. AddWindowsService ve AddSystemd yalnız ilgili ortamda devreye girer; queue ise restart'ta boşalır.

8 Kas 2026 10 dk 4
Trade-off Düşüncesi: Mimaride Doğru Cevap Yok, En Az Kötü Seçenek Var
Yazılım Mimarisi SERİ 04

Trade-off Düşüncesi: Mimaride Doğru Cevap Yok, En Az Kötü Seçenek Var

Mimaride her seçenek bir characteristic'i başka birinin pahasına kazanır; iş, bedeli görünür kılıp bilinçli kabul etmektir. Bookstore'da sipariş e-postasını senkron göndermek checkout'u SMTP'ye bağlayıp çift sipariş üretirken, Channel<T> ile queue'ya almak checkout'u 1 ms'ye indiriyor ama process kapanınca 3 e-postayı kaybediyor; one-way/two-way door, last responsible moment ve kararın neden'ini yazmak.

7 Kas 2026 13 dk 5
C# Channels ile Producer/Consumer: Backpressure, Bounded Channel ve Pipeline
Backend SERİ 14

C# Channels ile Producer/Consumer: Backpressure, Bounded Channel ve Pipeline

System.Threading.Channels ile async queue: kapasitesi iki olan channel'a neden üç sipariş sığıyor, Writer/Reader ve Complete, WaitToReadAsync/TryRead döngüsü, bounded channel'da FullMode seçenekleri ve itemDropped, birden çok consumer, hatayı Complete(ex) ile ileten bir sipariş pipeline'ı ve Complete'i unutmanın bedeli.

7 Kas 2026 9 dk 11
Blog Haritası