The Fault Tolerance specification is a fundamental API that can be used to handle the unavailability of your microservices by endorsing a set of policies that can improve the resiliency of your applications. The following fault tolerance policies are available:
- Timeout: Defines a timeout for the execution of a service call
- Fallback: Provides a contingency solution when a failure occurs
- Retry: Allows you to retry execution based on criteria
- Bulkhead: Isolates partial service failures while the rest of the system can still work
- Circuit Breaker: Defines criteria for automatic fast-fails to prevent system degradation caused by overloading
- Asynchronous: Allows us to invoke an operation asynchronously
Let's look at these concepts in practice by using the Chapter06/fault-tolerance example. First off, in order to use the fault-tolerance...