About this video
In this video, learn about Eclipse MicroProfile Fault Tolerance and some of its annotations that can help you write resilient microservices.
All microservices fail, and it’s is important to create resilient microservices. Eclipse MicroProfile Fault Tolerance provides a simple, configurable, and flexible solution to create a fault-tolerant microservice. It offers the following fault-tolerance policies:
- Timeout: Define a duration for timeout.
- Retry: Define a criteria on when to retry.
- Fallback: Provides an alternative solution for a failed execution.
- Bulkhead: Isolates failures in part of the system while the rest of the system can still function.
- CircuitBreaker: Offers a way of fast-fail by automatically failing execution to prevent the system overloading and indefinite wait or timeout by the clients.
- Asynchronous: Invoke the operation asynchronously.
The main design is to separate execution logic from execution. The execution can be configured with fault-tolerance policies.
Next steps
Check out this developer code pattern to learn how to deploy a fault-tolerant Open Liberty application using Eclipse MicroProfile on Kubernetes.
Check out the following Open Liberty guides to work with each of the Fault Tolerance annotations in more detail:
“Failing fast and recovering from errors” – Use MicroProfile’s Timeout and Retry policies to fail fast and recover when running into failures.
“Preventing repeated failed calls to microservices” – Learn how to create a fault-tolerant microservice using MicroProfile’s CircuitBreaker and Fallback policies.
“Building fault-tolerant microservices with the
@Fallback
annotation” – Manage the impact of failures using MicroProfile Fault Tolerance by adding fallback behavior to microservice dependencies.
To learn more about Eclipse MicroProfile and Open Liberty, check out the related video series on IBM Developer.
Production-ready modernized apps
- Video: Build fault-tolerant microservices (this video)
- Video: Deep dive into Red Hat OpenShift
- Tutorial: Build and deploy a Docker image on Kubernetes using Tekton pipelines
- Podcast: The Application Modernization Series: Production Ready