My First Approach moving from Hystrix to Resilience4j

Yury Niño
2 min readFeb 20, 2019

--

Since November 19th of 2018 when Netflix published that Hystrix would no longer be in active development and it would be in maintenance mode, some news has been published and developments have become slow. Precisely, on December 12th of 2018, Spring announced that Spring Cloud Greenwich (RC1) was available and following that announcement recommended some replacements, including Resilience4j instead of Hystrix.

Replacements technologies. Taken from [1]

Hystrix is the fault tolerance library designed by Netflix to isolate points of access to remote systems. Hystrix enables the resilience in complex distributed systems where failure is inevitable. Hystrix is in version 1.5.18 and according to [2] it is stable enough to meet the needs of Netflix applications.

So, what does it mean to be on maintenance mode? It means that Netflix won't actively review issues, merge pull-requests, and release new versions of Hystrix. They made a final release of Hystrix (1.5.18) per issue 1891 so that the latest version in Maven Central is aligned with the last known stable version used internally at Netflix (1.5.11).

Although I am convinced that the Hystrix community will continue inspiring
many great ideas and projects, I was exploring Resilient4j.

What did I need to know before using Resilience4j?

I recommend reviewing concepts such as Cloud Design Patterns, Java8, Prometheus, Vavr, Spring Reactor, and Spring Boot in order to harness its advantages.

Resilience4j is a lightweight fault tolerance library designed for Java 8 and functional programming. The library uses Vavr, which does not have any other external library dependencies. Resilience4j allows picking what you need.

Differences with Netflix Hystrix

Although Resilience4j is inspired by Netflix Hystrix it is more lightweight and you don’t have to go all-in.

Based on [3]

A First Approach

I have replicated the Baeldung example, which source code can be found over on GitHub.

Other Resources

https://github.com/resilience4j/resilience4j

References

[1] https://spring.io/blog/2018/12/12/spring-cloud-greenwich-rc1-available-now

[2] https://github.com/Netflix/Hystrix

[3] https://github.com/resilience4j/resilience4j

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Yury Niño
Yury Niño

Written by Yury Niño

Cloud Infrastructure Engineer @Google. Chaos Engineer Advocate. Loves building software applications, DevOps, Security and SRE

Responses (2)

Write a response