Introduction Any application that communicates with other resources over a network has to be resilient to transient failures. These failures are sometimes self-correcting. For example, a service that is processing thousands of concurrent requests can...