Retry dengan Backoff Eksponensial: Sabar Lebih Ampuh
Ketika layanan downstream lambat atau gagal, refleks pertama adalah mengulang. Tapi mengulang terus-menerus tanpa jeda justru menambah beban pada layanan yang sedang kesulitan — dan memperparah keadaan.
Backoff eksponensial
Setiap kegagalan, jeda sebelum mengulang diperpanjang: 1 detik, 2, 4, 8. Semakin sering gagal, semakin lama menunggu. Ini memberi ruang bagi layanan untuk pulih.
Tambahkan jitter
Banyak klien yang mengulang pada interval sama persis akan menabrak layanan secara serempak. Tambahkan variasi acak kecil pada jeda agar ulangan tersebar, tidak serempak.
Kapan berhenti
Retry tanpa batas adalah sumber masalah baru. Pasang jumlah maksimum percobaan, lalu lempar ke antrean DLQ atau eskalasi manual. Menyerah pada waktunya juga disiplin.