“Retry & Exponential Backoff Pattern” Nedir?
20 Nisan 2026 Pazartesi
Retry Pattern, geçici hatalar (örneğin ağ kesintisi, kısa süreli servis erişim problemi) karşısında bir işlemin tekrar denenmesini sağlayan bir yaklaşımdır. Dağıtık sistemlerde hataların önemli bir kısmı kalıcı değil, geçicidir; bu nedenle ilk denemede başarısız olan bir işlem, kısa bir süre sonra tekrar denendiğinde başarılı olabilir.
Ancak sabit aralıklarla ve kontrolsüz retry yapmak sistemi daha da zorlayabilir. Bu noktada Exponential Backoff devreye girer. Bu yaklaşımda her başarısız denemeden sonra bekleme süresi katlanarak artar (örneğin 1 sn → 2 sn → 4 sn → 8 sn). Böylece problemli servise anlık yük bindirmek yerine sistemin kendini toparlaması için zaman tanınır.
Retry & Exponential Backoff birlikte kullanıldığında hem dayanıklılık (resilience) artar hem de sistem kaynakları daha verimli kullanılır. Özellikle API çağrıları, mesaj tüketimi ve dağıtık işlem yönetiminde bu pattern kritik öneme sahiptir. Çoğu modern sistemde retry sayısı, backoff süresi ve maksimum bekleme limiti konfigüre edilebilir şekilde tasarlanır.
Özetle bu pattern, hatayı yok etmeye değil, hatayla kontrollü şekilde başa çıkmaya odaklanır. Doğru uygulanmadığında ise “retry storm” denilen, sistemin kendi kendini kilitlemesine yol açan durumlar oluşabilir. Bu yüzden retry mekanizması her zaman sınırlandırılmalı ve mümkünse DLQ, timeout ve circuit breaker gibi yapılarla birlikte kullanılmalıdır.
Basit Akış Tablosu
