Resilience4j v0.13.2 发布了,Resilience4j 是一个轻量级的容错组件,其灵感来自于 Hystrix,但主要为 Java 8 和函数式编程所设计。轻量级体现在其只用 Vavr 库(前身是 Javaslang),没有任何外部依赖。而 Hystrix 依赖了 Archaius ,Archaius 本身又依赖很多第三方包,例如 Guava、Apache Commons Configuration 等。
Resilience4j 提供了如下几款核心组件
- resilience4j-circuitbreaker: Circuit breaking
- resilience4j-ratelimiter: Rate limiting
- resilience4j-bulkhead: Bulkheading
- resilience4j-retry: Automatic retrying (sync and async)
- resilience4j-cache: Response caching
限速组件架构:
更新内容包括 bug 修复、新增特性以及移除旧功能,具体如下:
- PR #244: Corrected link to Prometheus Metrics Integration
- PR #246: Make async retrofit call not make the request when circuit is open
- PR #248: Removed rxjava2 dependency for time limiter
- PR #253: Fixed documentation
- PR #254: Additional factory methods for Micrometer CircuitBreakerMetrics
- PR #271: Remove deprecated usage of Mockito Matchers
- PR #276: Add response predicate to retry sync and async for enhancement
- PR #277: Generate BOM for resilience4j
- PR #281: Avoid creating unnecessary logging strings
- PR #284: Avoiding calling bulkheadConfigSupplier needlessly
- Issue #245; PR #260: Fix CircuitBreakerSubscriber for Reactor doesn’t count successes when using Mono/Flux.toFuture()
- Issue #263; PR #264: Fix bulkhead on Single and Maybe
源码下载:https://github.com/resilience4j/resilience4j/releases/tag/v0.13.2
转自 https://www.oschina.net/news/101940/resilience4j-0-13-2-released