⚡ÖZET VE TEKNİK CEVAP
Sürü etkisi (thundering herd); popüler bir önbellek anahtarı expire olduğunda, eşzamanlı binlerce isteğin aynı anda veritabanına yüklenerek aynı sorguyu paralel çalıştırması ve veritabanını kilitlemesidir.
Mühendislik El Kitabı & Mekanizma
6 Boyutlu Mimari Analiz⚙️1. Temel Çalışma Mekanizması
Mekanizma🎯2. Doğru Kullanım Senaryosu
Kapsam⚠️3. Prodüksiyon Arıza Modları
Kritik Risk📡4. Teşhis ve Telemetri Sinyalleri
Metrikler🛡️5. Önleme ve Mimari Bariyerler
Bariyerler⚖️6. Mimari Ödünleşimler (Trade-offs)
ÖdünleşimVaka İncelemesi (TinyCTO Saha Örneği)
TinyCTO 15. Bölümde, ana sayfa önbelleği canlı yatırımcı demosu sırasında düştü. 10.000 eşzamanlı istek PostgreSQL ana sunucusuna aynı 12 tablolu JOIN sorgusunu atarak tüm bağlantı havuzunu kilitledi.
İnteraktif Konsept Alıştırmaları
3 AlıştırmaDağıtık önbelleklemede single-flight kalıbı nedir?
XFetch algoritması önbellek izdihamını olasılıksal olarak nasıl önler?
İstemci tarafı sürü etkisini azaltan HTTP başlık kalıbı nedir?
Thundering Herd Problemi (Önbellek İzdihamı) — Sıkça Sorulan Sorular
Redis dağıtık kilidi sürü etkisini tek başına durdurmaya yeterli midir?
Evet, spin-wait veya pub/sub dinleyicisi ile birleştirilirse yeterlidir. Kilidi alan ilk thread veritabanına gider, diğerleri kilit serbest kalınca önbellekten hazır veriyi okur.
Önbellek Delinmesi (Cache Penetration) ile Önbellek İzdihamı (Cache Stampede) arasındaki fark nedir?
Cache Penetration, sistemde hiç var olmayan verilerin sorgulanıp önbelleği delerek sürekli DB'ye gitmesidir. Cache Stampede ise var olan çok popüler bir anahtarın süresi dolduğunda binlerce isteğin aynı anda DB'ye saldırmasıdır.
Toplu önbellek doldururken neden TTL jitter (rastgele sapma) önerilir?
Rastgele jitter (örneğin TTL = 300s ± 30s) eklemek, uygulama başlarken aynı anda yüklenen milyonlarca anahtarın tam aynı saniyede topluca düşmesini engeller.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸
Sürü etkisi, yüksek eşzamanlılıklı popüler anahtarların süresi dolduğunda patlak verir.
- ▸
Single-flight ve stale-while-revalidate, okuma trafiğini arka uç sorgu yükünden tamamen izole eder.
Yaygın Yanılgılar
- ✗
Daha fazla read-replica eklemenin sürü etkisini çözeceğini sanmak; single-flight olmadan tüm replikalar aynı anda kilitlenir.
Karar Kılavuzu & Önceliklendirme
Sıcak veri sorgularında uygulama katmanında veya API Gateway seviyesinde mutlaka single-flight mutex mekanizması kullanın.
Doğrulanmış Kaynaklar & Referanslar
- [PAPER]Optimal Probabilistic Cache Stampede Prevention (VLDB)— VLDB Endowment
- [BOOK]Designing Data-Intensive Applications (Chapter 11)— O'Reilly Media
