一、简介
-
Resilience4j是一个轻量级的容错库,受Netflix Hystrix的启发,但专为Java
8和函数式编程而设计。轻量级,因为库只使用Vavr,它没有任何其他外部库依赖项。相比之下,Netflix
Hystrix对Archaius具有编译依赖性,Archaius具有更多的外部库依赖性,例如Guava和Apache Commons
Configuration。 -
Resilience4j提供高阶函数(装饰器),以通过断路器,速率限制器,重试或隔板增强任何功能接口,lambda表达式或方法参考。您可以在任何功能接口,lambda表达式或方法引用上堆叠多个装饰器。优点是您可以选择所需的装饰器,而不是其他任何装饰器。
-
我们可以单独选用一个或多个模块进行集成使用。
-
只能在jdk 1.8 and spring boot 环境使用。
-
Hystrix 官网停止维护后,推荐使用Resilience4j。
二、包括哪些功能 ?
核心模块:
resilience4j-circuitbreaker: 断路器
resilience4j-ratelimiter: 请求量限制
resilience4j-bulkhead: 隔离板
resilience4j-retry: 自动重试(同步和异步)
可用的功能模块:
resilience4j-cache: 响应缓存
resilience4j-timelimiter: 超时处理
resilience4j-reactor: 自定义Spring Reactor运算符
resilience4j-rxjava2: 自定义RxJava2运算符
resilience4j-micrometer: 千分尺指标导出器
resilience4j-metrics: Dropwizard Metrics导出器
resilience4j-prometheus: Prometheus Metrics导出
resilience4j-spring-boot: Spring Boot Starter
resilience4j-spring-boot2: Spring Boot 2 Starter
resilience4j-ratpack: Ratpack Starter
resilience4j-retrofit: 改装适配器
resilience4j-feign: Feign微服务代理访问
resilience4j-vertx: Vertx Future decorator
resilience4j-consumer: Circular Buffer Event consumer
resilience4j-kotlin:Kotlin协程支持