Battle of the Circuit Breakers: Resilience4J vs Istio

Updated on November 8, 2019
GOTO Berlin 2019
Nicolas Frankel
Nicolas Frankel

Developer Advocate at Hazelcast

Kubernetes in general, and Istio in particular, have changed a lot the way we look at Ops-related constraints: monitoring, load-balancing, health checks, etc. Before those products became available, there were already available solutions to handle those constraints.

Among them is Resilience4J, a Java library. From the site: "Resilience4j is a fault tolerance library designed for Java8 and functional programming." In particular, Resilience4J provides an implementation of the Circuit Breaker pattern, which prevents a network or service failure from cascading to other services. But now Istio also provides the same capability.

In this talk, we will have a look at how Istio and Resilience4J implement the Circuit Breaker pattern, and what pros/cons each of them has.

After this talk, you’ll be able to decide which one is the best fit in your context.

What will the audience learn from this talk?
The audience will learn about the semantics of the term "microservices", that one of the issue of webservices architecture is that it propagates failure, that the Circuit Breaker pattern can help cope with failure propagation, that both Istio and Resilience4J are both Circuit Breaker implementations, and about their pros and cons. Does it feature code examples and/or live coding?

Does it feature code examples and/or live coding?
No live coding, but demos. Repositories are available on Github.

Prerequisite attendee experience level:
Level 100