İçeriğe geçin

Cache stampede

Cache stampede, eşzamanlı isteklerin önbellekte aynı veriyi bulamayıp aynı pahalı işi tekrar tekrar başlatmasıdır.

Yazılım mimarisi

Cache stampede, birçok isteğin yaklaşık aynı anda önbellekte bulunmayan bir kayda ihtiyaç duyup veri kaynağında aynı işi başlatmasıdır. Süresi dolan bir kayıt veya boş başlayan bir önbellek böylece yük dalgasına yol açabilir.

Kurgusal bir panelde, aynı yetkili veri kapsamındaki 100 eşzamanlı istek summary:tenant-7 anahtarını sorgular. Özet önbellekte yoksa ve eşgüdüm sağlanmıyorsa aynı hesaplama birçok kez başlayabilir.

Aynı istekleri birleştirmek

Request coalescing bu erişimleri birleştirir: Aynı anahtar ve veri kapsamı için sürmekte olan bir hesaplama ortak kullanılır. Diğer istekler sonucu kontrollü bekler veya işin güncellik kuralı izin veriyorsa eski bir değer alır. Birleştirme, farklı kullanıcıların veya yetki alanlarının verilerini karıştırmamalıdır.

Yalnız bir süreç içinde çalışan kilit, bütün sunucuları kendiliğinden koordine etmez. Başarısız hesaplamalar ve çok uzun bekleyen istekler için de sınırları belirli bir hata yolu gerekir. Önbellek geçersizleştirme, kaydın ne zaman kullanılamayacağını belirler; stampede koruması eşzamanlı yenilemenin nasıl yönetileceğini düzenler.

Kaynaklar