Yazılım Notları

Mimari ve Dağıtık Sistemler

System Design Araç Kutusu: Kapasite, Cache, Kuyruk, Tutarlılık ve Dayanıklılık

System Design Toolbox

System design bir ezber diyagramı değil; sayı tahmini, ölçekleme, cache, kuyruk, tutarlılık ve dayanıklılık araçlarından doğru olanı seçme becerisidir ve kodu Agent yazdıkça bu seçimin ağırlığı artıyor.

Kabul görüyor

System design yeni mimari icat etmek değil, sayıdan başlayıp bilinen kalıpları bilinçli trade-off'la seçmektir; kodu Agent yazdıkça bu seçim insanın asıl işi olur.

DDIA, Google SRE ve AWS Builders' Library çizgisi bu araç setini standart sayıyor; tartışma yalnızca Agent'ın bu seçimleri ne ölçüde devralabileceğinde.

Zihinsel model

Usta marangoz her işe yeni alet icat etmez; önce ölçer, sonra kutudan doğru aleti seçer.

Neden

  • Kaba trafik ve veri hesabı, ihtiyaç olmayan dağıtık bileşenleri daha baştan eler ve araç seçimini sayıya bağlar.
  • Her kalıp bir bedelle gelir: cache bayat veri, replica gecikme, sharding geri dönüşsüzlük getirir; seçim veriye göre yapılır.
  • Dağıtık sistemde hata kaçınılmaz; timeout, backoff ve circuit breaker yoksa tek yavaş bağımlılık zincirleme kesintiye dönüşür.

Kanıt

Geliştiricilerin %66'sı coding assistant ya da Agent kullanıyor.

Stack Overflow Developer Survey 2026

DynamoDB DNS yönetimindeki tek bir yarış durumu us-east-1'de yaklaşık 14,5 saat süren zincirleme etki yarattı.

AWS, us-east-1 kesinti özeti, 2025

Boyutu doğrulanmadan yayılan bir yapılandırma dosyası proxy sınırını aştı ve trafiği saatlerce aksattı.

Cloudflare, outage on November 18, 2025

Karşı görüş

Yönetilen bulut servisleri ölçekleme, replikasyon ve retry kararlarının çoğunu varsayılan olarak üstleniyor; küçük ekip için iyi bir varsayılan seçmek yetebilir. Agent'lar da bağlam verildiğinde kalıp önermede giderek iyileşiyor.

Kavramlar

Back-of-the-envelopeGereksinimi kaba QPS ve depolama sayılarına çevirip araç seçimini sayıya bağlamak.
IdempotencyAynı işlemi tekrar uygulamanın sonucu değiştirmemesi; retry ve kuyrukların güvenlik şartı.
PACELCBölünmede erişilebilirlik ile tutarlılık, normalde gecikme ile tutarlılık arasında seçim yapılır.
Circuit breakerHata eşiğini aşan bağımlılığa çağrıları geçici olarak keserek zincirleme çöküşü önler.
Error budgetSLO'nun izin verdiği hata payı; bitince öncelik özellikten güvenilirliğe kayar.

Pratikte

  • Araç seçmeden önce QPS, tepe yük ve yıllık veri boyutunu kabaca hesapla.
  • Veri modelindeki her varlığa güçlü ya da nihai tutarlılık etiketi yaz; Agent'a bu tabloyu ver.
  • Kuyruk tüketicilerini idempotent yap, dual write yerine outbox kullan; retry'ı yalnızca idempotent işlemlerde aç.
Önce bunu okuThe System Design PrimerKalıpları trade-off'larıyla tek yerde toplayıp örnek tasarım sorularıyla pekiştiriyor.