Khi gọi một dịch vụ bị lỗi tạm thời (timeout, 503), retry có thể thành công ở lần sau. Nhưng retry ngay lập tức và dồn dập lại làm dịch vụ đang yếu càng quá tải.
- Exponential backoff: chờ tăng theo cấp số nhân giữa các lần thử (1s, 2s, 4s, 8s…) → giãn tải, cho dịch vụ hồi phục.
- Jitter (ngẫu nhiên hóa): cộng thêm độ trễ ngẫu nhiên. Nếu nhiều client cùng backoff theo cùng công thức, chúng sẽ retry đồng loạt thành từng đợt (thundering herd); jitter làm phân tán các lần retry ra.
Kèm theo: giới hạn số lần retry và tổng thời gian, chỉ retry lỗi tạm thời (không retry lỗi 4xx do sai request), và đảm bảo thao tác idempotent để retry an toàn.