It is used to enable applications to handle anticipated transient failures by transparently retrying a failed operation with an expectation that it will be successful. The Retry pattern is also known as the Transient Fault Handling pattern.

Context and problem

By their very nature, integration applications interact with other systems over the network. With dynamic cloud-based environments becoming the norm and the microservices architectural style partitioning applications into more granular services, successful service communication has become a fundamental prerequisite for many distributed applications. Services that communicate with other services must be able to handle transient failures that can occur in downstream systems transparently and continue operating without any disruption. A transient failure can be considered an infrastructure-level fault, a loss of network connectivity, timeouts and throttling applied by busy services, etc. These conditions occur infrequently, and they are typically self-correcting, and usually, retrying an operation succeeds.

Get hands-on with 1200+ tech skills courses.