New fault tolerance implementation in Quarkus

It uses SmallRye Fault Tolerance to provide this functionality.

At the time SmallRye Fault Tolerance was born, Hystrix was still a thing and was chosen to be the core of the implementation. The choice turned out to be sub-optimal. The library itself is not developed anymore. Moreover, changes in the MicroProfile Fault Tolerance specification made it impossible to satisfy the specification with a Hystrix-based solution. It led us to the conclusion that we need to eliminate Hystrix.

We had some time at the end of 2019, and, long story short, here it is. Quarkus 1.2.0.CR1 comes with a brand new SmallRye Fault Tolerance version, 4.0.0, that replaces Hystrix with our own core.

Beware that the new implementation is based on a core that we made from scratch. We made sure it passes all the tests we had, and added a lot more tests, but it is not battle tested yet.

Hence, our appeal: please try out the extension with the new version of Quarkus and let us know how it works for you.

If you are interested in the details, I invite you to take a look at the SmallRye blog post on the topic.