Resilience4J
依赖说明:以Resilience4J作为底层实现的Spring Cloud断路器。
熔断器:当某个机器接口失败率达到某一条件(比如失败率>50%),就可以采用熔断器将服务器从集群机器中移除,或者采用自定义的业务逻辑降级方案,比如从一个接口转到另一个接口。熔断器只是一个工具,重要的是业务逻辑。
Resilience4j 是受Netflix的Hysrix项目启发,专门为Java 8 和函数式编程设计的轻量级容错框架。Resilicenes4j 仅使用了一个第三方开源库Vavr,Vavr不依赖其他库。相比较而言,Netflix Hysrix对Archaius存在编译依赖,Archaius有许多外部依赖,比如Guava和Apache Commons Configuration。Resilience4j 按模块发布,可以有选择的使用其中某些功能而无需引入全部的Resilience4j 组件。
参考:
POM
<!--Resilience4J-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-circuitbreaker-resilience4j</artifactId>
</dependency>
XXX