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 #case-study
System Design Case Study: Flash Sale ve Bilet Satışı
Yazılım Mimarisi SERİ 15

System Design Case Study: Flash Sale ve Bilet Satışı

Flash sale'de overselling'i önleyen şey stok kontrolü ile azaltmanın tek atomik adımda yapılmasıdır; ani trafiği CDN'den sunulan bir waiting room emer, ödeme süresini TTL'li hold'lar yönetir, süresi dolan hold stoğu aynı statement'ta geri verir. 2.000 eşzamanlı alıcıyla 100 bilete naif kodun 2.000 rezervasyonu, koşullu UPDATE ve optimistic concurrency'nin gerçek çıktıları, ödeme timeout'u ve bot savunması.

8 Kas 2026 13 dk 5
System Design Case Study: Chat ve Notification Sistemi
Yazılım Mimarisi SERİ 14

System Design Case Study: Chat ve Notification Sistemi

Chat sisteminde bağlantılar stateful gateway'lerde, sıra ve kayıt stateless bir chat service'te durur: mesaj önce kaydedilir, sohbet başına sunucu sayacıyla sıra numarası alır, alıcının gateway'i presence kaydıyla bulunur, çevrimdışı alıcıya push gider. İki gateway arasında Redis ile yönlendirme ve istemci tarafında seq ile sıralama, dedupe ve boşluk tespitinin gerçek çıktıları, okundu bilgisi, grup fan-out'u ve mesaj saklama.

8 Kas 2026 11 dk 4
System Design Case Study: News Feed ve Timeline
Yazılım Mimarisi SERİ 13

System Design Case Study: News Feed ve Timeline

News feed'de varsayılan fan-out on write'tır, ama takipçi dağılımı power-law olduğu için tek bir ünlü paylaşımı milyon yazmaya dönüşür; çözüm, yüksek bir eşiğin üstündeki hesapları okuma anında birleştiren hibrit model, yalnız post ID tutan bir feed cache ve cursor pagination. Hesaplanmış capacity tablosu, push, pull ve hibrit simülasyonu, Redis sorted set'te offset ile cursor'ın gerçek çıktıları.

8 Kas 2026 11 dk 4
System Design Case Study: URL Shortener Tasarlamak
Yazılım Mimarisi SERİ 12

System Design Case Study: URL Shortener Tasarlamak

URL shortener okuma ağırlıklı bir sistemdir: saniyede ~40 yazmaya karşı ~3.900 redirect, bu yüzden stateless bir redirect yolu, cache-aside, çakışmasız ve tahmin edilmesi zor kodlar ve analytics için 301 değil 302 gerekir. Hesaplanmış capacity tablosu, hash çakışmalarının gerçek ölçümü, sayaç + bijective dönüşüm + base62, 301/302 curl çıktıları, alias, expiration ve kötüye kullanım.

8 Kas 2026 12 dk 4
Blog Haritası