Skip to main content
  • Log in
  • Manage Cookies
projects.eclipse.org
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
  1. Home
  2. Projects
  3. Eclipse Technology
  4. MicroProfile®
  5. Fault Tolerance 1.0

MicroProfile® Fault Tolerance 1.0

Primary tabs

  • Overview(active tab)
  • Issues
  • Release Plan
  • Review Information

MicroProfile Fault Tolerance spec https://github.com/eclipse/microprofile-fault-tolerance

This specification defines a programming model for building resilient microservices. 

As you know, it is increasingly important to build fault tolerant microservices. Fault tolerance is about leveraging different strategies to guide the execution and result of some logic. Retry policies, bulkheads, and circuit breakers are popular concepts in this area. They dictate whether and when executions should take place, and fallbacks offer an alternative result when an execution does not complete successfully.

 

This specifications defines the follwoing aspects: 

  • Timeout: Define a duration for timeout

  • RetryPolicy: Define a criteria on when to retry

  • Fallback: provide an alternative solution for a failed execution.

  • CircuitBreaker: offer a way of fail fast by automatically failing execution to prevent the system overloading and indefinite wait or timeout by the clients.

  • Bulkhead: isolate failures in part of the system while the rest part of the system can still function.

This specification defines the following annotations (Retry, Fallback, CircuitBreaker, Bulkhead, Timeout, Asynchronous) so that microservice developers can just add annotation to the business logic without the need to understand the implementation details. This programming model is very flexible as all policies except Fallback can be switched off. This flexibility makes this specification very attrictive as microservices using this programming model can function anywhere including the service mesh architecture e.g. Istio. It will not conflict with any infrastructure fault tolerance policies because it is can be easily switched off.

 

Release Date: 
Friday, September 8, 2017
Review: 
Fault Tolerance 1.0 Release Review
Release Type: 
Major release (API breakage)
Incubating - MicroProfile®

Project Links

  • MicroProfile Blog
  • MicroProfile Calendar
  • MicroProfile Resources
  • MicroProfile Working Group Project
  • Website

Related Projects

Project Hierarchy:

  • Eclipse Technology
  • MicroProfile®

Tags

Technology Types
  • Cloud Native Java
Build Technologies
  • Maven

Eclipse Foundation

  • About Us
  • Contact Us
  • Sponsor
  • Members
  • Governance
  • Code of Conduct
  • Logo and Artwork
  • Board of Directors
  • Careers

Legal

  • Privacy Policy
  • Terms of Use
  • Copyright Agent
  • Eclipse Public License
  • Legal Resources

Useful Links

  • Report a Bug
  • Documentation
  • How to Contribute
  • Mailing Lists
  • Forums
  • Marketplace

Other

  • IDE and Tools
  • Projects
  • Working Groups
  • Research@Eclipse
  • Report a Vulnerability
  • Service Status

Copyright © Eclipse Foundation. All Rights Reserved.

Back to the top