liveBook · Manning

Exponential backoff

As explained in Platform Engineering on Kubernetes

Exponential backoff is a retry-timing strategy that progressively increases the delay between successive attempts.

Exponential backoff is a retry strategy for service-to-service failures: each retry waits longer than the previous one, giving the failing service time to recover and reducing retry traffic that could overload services or networks. section 7.1.2

Apply it within a service resiliency layer:

  • Use a retry framework to repeat requests that fail or are not acknowledged. section 7.1.2
  • Configure retry count and backoff behavior per service; configurations may differ across technology stacks and are not guaranteed to behave identically. section 7.1.2
  • Examples include Spring Retry retrying three times with a fixed three-second wait and go-retryablehttp retrying five times with exponential backoff. section 7.1.2
Figure 7.3 Service-to-service interactions retry mechanisms

Compare fixed-delay and exponential-backoff retry mechanisms in service interactions. section 7.1.2

How Platform Engineering on Kubernetes covers it

How deep it goes
Defines the recovery rationale and contrasts fixed and exponential waits, but gives no backoff formula or implementation algorithm.
Examples
Contrasts three fixed three-second retries in Spring Retry with five exponential-backoff retries in go-retryablehttp.
What it assumes
Assumes service dependencies, request failures, acknowledgments, and retry mechanisms.
What you can do after
Apply it via Spring Retry or go-retryablehttp to configure retries for failing service requests.
How it connects
Connects retries with service resiliency, service-to-service interactions, Spring Retry, and go-retryablehttp.

Also explained in

Compare how 8 books explain exponential backoff →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Platform Engineering on Kubernetes. The section links point to the parts of the book it draws on.