What is exponential backoff?

Definition

With exponential backoff, each failed attempt waits longer than the previous one before retrying. Adding jitter prevents many clients from retrying at exactly the same moment and recreating the overload.

Backoff must be bounded by maximum attempts, total time and cost. It is appropriate only for errors likely to be temporary; validation or authorization failures should normally stop immediately rather than enter a retry loop.

ELI5

Exponential backoff retries a temporary failure with longer waits after each attempt. The growing delay reduces pressure on a service that may already be overloaded.

For example, a client can wait about one second after the first failure, two seconds after the next and four seconds after another, with small random changes so many clients do not retry together. It should stop after a clear limit and should not retry invalid requests.

Acronyms and aliases

backoff retry variant

Frequently asked questions

Why does exponential backoff use longer delays?

Longer delays give an unhealthy service time to recover and reduce the chance that retries will keep it overloaded.

Should every agent error be retried?

No. Permanent, invalid or unauthorized requests should fail without retrying, while bounded retries may suit temporary network or service errors.

Videos explaining exponential backoff