Reactor -Exponential Backoff
Numerous components on a network, such as DNS servers, switches, load balancers, and others can generate errors anywhere in the life of a given request. A common way to handle theses failures is through the use of retries, and retries with backoff and jitter.
As an engineer, your should clearly enforce these practices when dealing with network connectivity or similar communication protocols over the internet.
Retries, as mentioned previously, are a nice way for dealing with transient remote API errors in client applications. When a client receives an error response for a timeout, it is the responsibility of the client to retry.
Therefore, having a good retry mechanism is important for making our operations run smoothly.
Backoff
Backoff is a technique for performing retries gracefully, without overloading or burning out your backend systems. A simple way to perform retries is by adding a delay between calls. This approach is called a linear backoff. While this is easy to implement and can handle transient failures in a majority of cases, it does not help when a downstream service is impacted for a prolonged period of time, as the retries sent at a fixed rate will continue to overload the service.
Exponential backoff
Exponential backoff is a less aggressive form of backoff. As the name suggests, with this approach the delay between each retry increases exponentially, means that clients multiply…