Üstel geri çekilme, yeniden denemeleri her seferinde gecikmeyi ikiye katlayarak — 0,5 sn, 1 sn, 2 sn, 4 sn — bir üst sınıra kadar aralar ve zorlanan bir sunucuya toparlanma payı bırakır. Jitter her gecikmeyi rastgeleleştirir; çünkü o olmadan aynı anda başarısız olan her istemci aynı anda yeniden dener ve hataya yol açan sıçramayı yeniden oluşturur.
Tipik bir politika: sıfır ile taban × 2^deneme arasında rastgele bir süre bekle, bunu bir üst sınırla kes ve belirli sayıda denemeden ya da toplam süreden sonra vazgeç. Yalnızca yeniden denemesi güvenli olanı — idempotent metotları ya da bir idempotency anahtarıyla korunan yazmaları — ve yalnızca geçici olabilecek hataları yeniden dene: zaman aşımları, 429, 502, 503, 504.
Daha çok yeniden denemenin daha çok güvenilirlik demek olduğu sanılır. Sınırsız yeniden denemeler bir kesintiyi büyütür: üç kez yeniden deneyen her katman altındaki katmanın yükünü katlar. Yeniden deneme bütçeleri, üst sınırlar ve devre kesiciler, yeniden denemenin kendisi de bir hata kaynağı olduğu için vardır.
Fault Injection API’sini PUT /faults/v1/config ile yapılandırın — örneğin failureRate 0.5 ve status 503 — sonra yeniden deneme politikanızın titrek bir bağımlılıkla nasıl başa çıktığını görmek için GET /faults/v1/target’ı tekrar tekrar çağırın.
Tüm sözlük maddeleri · Test teknikleri · 39 mock REST API’nin tamamı
Son güncelleme