Retry, Timeout ve Backoff: Ne Zaman Yeniden Denememeliyiz?
Bir servis yanıt vermediğinde yeniden denemek mantıklı görünebilir. Peki ya tekrar denemelerimiz, toparlanmaya çalışan servisi daha da zorluyorsa?
Yazılım mimarisi, dağıtık sistemler, endüstriyel yazılım ve yapay zekâ üzerine teknik yazılar.
Yazı dizisi · Dağıtık Sistemler
Hatalar, yeniden denemeler, mesajlaşma ve toparlanma stratejileri üzerine mimari değerlendirmeler.
Bir servis yanıt vermediğinde yeniden denemek mantıklı görünebilir. Peki ya tekrar denemelerimiz, toparlanmaya çalışan servisi daha da zorluyorsa?
Dağıtık sistemlerde bir işlemin veritabanında tamamlanması ile diğer sistemlere duyurulması farklı başarısızlık noktalarına sahiptir.
Bir timeout, başarısız işlem anlamına gelmez. Yeniden deneme mekanizmalarını tasarlarken asıl problem çoğu zaman budur.