In everyday life
Calling a busy restaurant to book a table: ring again after 1 minute, then 2, then 4, then give up for the evening. If every caller redials every second, the line never clears.
One case
A photo-sharing app’s upload service goes down for 30 seconds. 1,000 phone apps each retry once a second, so the service gets 30,000 extra requests while it tries to restart, and it stays down. With waits of 1, 2, 4 and 8 seconds, each app retries only 4 times in those 30 seconds: 4,000 requests in all.
Every case
Many failures are short: a busy server, a dropped connection. A retry fixes those. But when a service is overloaded, fast retries from every client add load at the worst moment and can keep it down. A longer wait after each failure, a little random delay called jitterA small random delay added to each wait, so many programs do not all act at the same moment. so that clients do not retry in step, and a limit on the number of tries let the service recover. Retry only actions that are safe to repeat.
The word
Engineers call this
Retry short failures with growing waits, some randomness and a cap. Never retry in a tight loop.