什么是Hystrix
我们耳熟能详的就是Netflix Hystrix,这个断路器是SpringCloud中最早支持的一种容错方案,现在这个断路器已经处于维护状态,已经不再更新了,你仍然可以使用这个断路器,但是呢,我不建议你去使用,因为这个已经不再更新,所以Spring官方已经出现了Netflix Hystrix的替换方案。
什么是Resilience4j
Resilience4j是一个轻量级的容错组件,其灵感来自于Hystrix,但主要为Java 8和函数式编程所设计,也就是我们的lambda表达式。轻量级体现在其只用 Vavr 库(前身是 Javaslang),没有任何外部依赖。而Hystrix依赖了Archaius ,Archaius本身又依赖很多第三方包,例如 Guava、Apache Commons Configuration 等。
Resilience4j官网
resilience4j
Resilience4J 提供了一系列增强微服务的可用性功能:
- resilience4j-circuitbreaker:熔断
- resilience4j-ratelimiter:限流
- resilience4j-bulkhead:隔离
- resilience4j-retry:自动重试
- resilience4j-cache:结果缓存
- resilience4j-timelimiter:超时处理
注意:
在使用Resilience4j的过程中,不需要引入所有的依赖,只引入需要的依赖即可。