Resilience4j 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Resilience4j 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Resilience4j 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发常用工具包
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2018-08-21

软件简介

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

附件组件包括:

  • resilience4j-reactor: Spring Reactor adapter

  • resilience4j-rxjava2: RxJava2 adapter

  • resilience4j-micrometer: Micrometer Metrics exporter

  • resilience4j-metrics: Dropwizard Metrics exporter

  • resilience4j-prometheus: Prometheus Metrics exporter

  • resilience4j-spring-boot: Spring Boot Starter

  • resilience4j-ratpack: Ratpack Starter

  • resilience4j-retrofit: Retrofit Call Adapter Factories

  • resilience4j-vertx: Vertx Future decorator

  • resilience4j-consumer: Circular Buffer Event consumer

使用示例:

使用 Resilience4j 实现请求调用频率限制的示例代码:

// Create a custom RateLimiter configuration
RateLimiterConfig config = RateLimiterConfig.custom()
    .timeoutDuration(Duration.ofMillis(100))
    .limitRefreshPeriod(Duration.ofSeconds(1))
    .limitForPeriod(1)
    .build();
// Create a RateLimiter
RateLimiter rateLimiter = RateLimiter.of("backendName", config);

// Decorate your call to BackendService.doSomething()
Supplier<String> restrictedSupplier = RateLimiter
    .decorateSupplier(rateLimiter, backendService::doSomething);

// First call is successful
Try<String> firstTry = Try.ofSupplier(restrictedSupplier);
assertThat(firstTry.isSuccess()).isTrue();

// Second call fails, because the call was not permitted
Try<String> secondTry = Try.of(restrictedSupplier);
assertThat(secondTry.isFailure()).isTrue();
assertThat(secondTry.getCause()).isInstanceOf(RequestNotPermitted.class);
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(4)
发表了资讯
11/26 10:48

Resilience4j 2.0.0 发布,要求 Java 17 支持

轻量级容错组件 Resilience4j 发布了最新的 2.0.0 版本,版本号上了个大号,但是没有什么额外的更新,只是更新了依赖包,分别是: 移除对 Vavr 的依赖 Upgraded to Java 17 Upgraded to Kotlin 1.7.20 Upgraded to Spring Boot 2.7 Upgraded to Micronaut 3.7.3 Resilience4j 是一个轻量级的容错组件,其灵感来自于 Hystrix。 限速组件架构: Resilience4j 提供了如下几款核心组件 resilience4j-circuitbreaker: Circuit break...

0
3
发表于大前端专区
2019/04/06 06:25

Resilience4j v0.14.0 发布,面向 Java 8 和函数式编程的容错库

Resilience4j v0.14.0 发布了,Resilience4j 是一个轻量级的容错组件,其灵感来自于 Hystrix,但主要为 Java 8 和函数式编程所设计。轻量级体现在其只用 Vavr 库(前身是 Javaslang),没有任何外部依赖。而 Hystrix 依赖了 Archaius ,Archaius 本身又依赖很多第三方包,例如 Guava、Apache Commons Configuration 等。 Resilience4j 提供了如下几款核心组件 resilience4j-circuitbreaker: Circuit breaking resilience4j-rat...

2
10
发表于大前端专区
2018/11/20 07:22

Resilience4j v0.13.2 发布,面向 Java 8 和函数式编程的容错库

Resilience4j v0.13.2 发布了,Resilience4j 是一个轻量级的容错组件,其灵感来自于 Hystrix,但主要为 Java 8 和函数式编程所设计。轻量级体现在其只用 Vavr 库(前身是 Javaslang),没有任何外部依赖。而 Hystrix 依赖了 Archaius ,Archaius 本身又依赖很多第三方包,例如 Guava、Apache Commons Configuration 等。 Resilience4j 提供了如下几款核心组件 resilience4j-circuitbreaker: Circuit breaking resilience4j-rat...

0
12
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
Object Computing micronaut 路径遍历漏洞
路径遍历
Object Computing micronaut是美国Object Computing公司的一款基于JVM的全栈框架,它主要用于构建模块化微服务和无服务器应用程序。 Micronaut 2.5.9 之前的版本存在路径遍历漏洞,该漏洞源于Micronaut 不限制对配置路径的文件访问。攻击者通过基本配置,可以使用 URL 中的“/../../”从文件系统访问任何文件。
CVE-2021-32769 MPS-2021-10581
2022-08-08 18:08
JetBrains Kotlin 授权问题漏洞
缺省权限不正确
JetBrains Kotlin是捷克JetBrains公司的一款在Java虚拟机上运行的静态类型编程语言。 JetBrains Kotlin before 1.4.2 存在授权问题漏洞,该漏洞源于权限不安全,攻击者可利用该漏洞读取数据。
CVE-2020-29582 MPS-2021-1082
2022-08-08 18:08
Object Computing micronaut资源管理错误漏洞
拒绝服务
Object Computing micronaut是美国Object Computing公司的一款基于JVM的全栈框架,它主要用于构建模块化微服务和无服务器应用程序。Object Computing Micronaut存在资源管理错误漏洞,该漏洞源于在受影响的版本中,发送无效的Content Type标头会导致DefaultArgumentConversionContext中的内存泄露,因为此类型在静态状态下被错误地使用。### Impact发送无效的 Content Type标头会导致`DefaultArgumentConversionContext`中的内存泄露,因为此类型在静态状态下被错误地使用。目前没有详细的漏洞细节提供。
CVE-2022-21700 MPS-2021-37058
2022-08-08 18:08
oracle communications pricing design center-12.0.0.5加锁机制不恰当漏洞
加锁机制不恰当
在 1.6.0 之前的 JetBrains Kotlin 中,无法锁定多平台 Gradle 项目的依赖项。
CVE-2022-24329 MPS-2022-3233
2022-08-08 18:08
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
4 评论
89 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部