Yeniden denemede rastgele gecikme
Retry jitter, bekleme sürelerini rastgele değiştirerek birçok istemcinin aynı anda yeniden istek göndermesini azaltır.
Retry jitter, yeniden çağrı yapmadan önceki bekleme süresine rastgelelik eklenmesidir. Birden fazla istemcinin denemelerini zamana yayar. Özellikle birçok istemci aynı kesintiyi birlikte fark ettiğinde işe yarar: Hepsinin aynı süre beklemesi, bir sonraki yük dalgasını yalnızca erteleyebilir.
Üç istemci, farklı beklemeler
Kurgusal bir örnekte üç istemcinin her biri, sonraki denemeden önce 0–2 s aralığında rastgele bir süre seçebilir. Örneğin 0.4 s, 1.1 s ve 1.7 s beklerler. Bu değerler dağılımı açıklamak içindir; önerilen bir yapılandırma değildir. Rastgele gecikme kullanılsa da denemeler çakışabilir.
Hangi hatalarda tekrar deneneceği, kaç denemeye izin verileceği ve toplam sürenin ne zaman biteceği yeniden deneme stratejisinin parçasıdır. Hedef sistemin bekleme süresi talimatları dikkate alınmalıdır. Üstel geri çekilmede bekleme aralığı yeni denemelerle genellikle belirlenmiş bir üst sınıra kadar büyür; jitter ise kullanılan kurala göre seçilen gerçek beklemeyi değiştirir.
Rastgelelik, işlemi tekrar yapmayı güvenli hâle getirmez. Kaybolan bir yanıtın arkasında tamamlanmış bir yazma işlemi olabilir. Bu nedenle entegrasyonun sonraki denemeden önce idempotans veya sonuç karşılaştırması gibi güvenli bir tekrar kuralına ihtiyacı vardır.
Kaynaklar
İlgili terimler
- Tekrar deneme stratejisiTekrar deneme stratejisi hangi hatada, ne kadar bekleyerek ve hangi sınıra kadar yeniden deneneceğini belirler.
- İdempotansİdempotans, aynı işlem tekrarlandığında sistem durumunda tek bir çalıştırmayla aynı amaçlanan etkinin oluşmasıdır.
- Transactional InboxTransactional inbox, tekrar teslim edilen mesajların yerel işlemi yinelemesini önlemek için kalıcı mesaj kayıtları kullanır.
- Mesaj onayıMesaj onayı, bir teslimatın belirlenen kurala göre alındığını veya işlendiğini mesaj aracısına bildirir.
- Test kiracısıKiracılı uygulamada denetimler için kurulmuş, mantıksal olarak ayrılmış müşteri alanı.
- Webhook tekrar gönderimiWebhook tekrar gönderimi, bir bildirimin yeniden iletilmesidir. Eksik işlemi tamamlama ve tekrarlama saldırısı için farklı kontroller gerekir.
Bu konudaki yazılar








ASES ile API ve entegrasyon
ERP, CRM ve mağaza sorunsuz bağlantılı

