Hystrix已经停止开发,官方推荐替代项目Resilience4j简介

本文介绍了Resilience4j,一个受Hystrix启发的轻量级容错管理工具,提供熔断、限流、舱壁隔离等功能,帮助构建健壮的微服务系统。文中详细讲解了如何配置和使用Resilience4j的各种模块,包括设置Maven依赖、创建熔断器、限流器、舱壁隔离、重试、缓存和限时器,并给出了相关示例。
摘要由CSDN通过智能技术生成

导读:随着微服务的流行,熔断作为其中一项很重要的技术也广为人知。当微服务的运行质量低于某个临界值时,启动熔断机制,暂停微服务调用一段时间,以保障后端的微服务不会因为持续过负荷而宕机。本文介绍了新一代熔断器Resilience4j如何使用。


640?wx_fmt=png


译者注:Hystrix官方已经停止开发了,Hystrix官方推荐使用新一代熔断器作为Resilience4j。作为新一代的熔断器,Resilience4j有很多优势,比如依赖少,模块化程度较好等优势。本文是关于resilience4j的初学者指南。


resilience4j是受Hystrix启发而做的熔断器,通过管理远程调用的容错处理来帮助实现一个健壮的系统。resilience4j提供了更好用的API,并且提供了很多其他功能比如Rate Limiter(限流器),Bulkhead(舱壁隔离)。


设置Maven


添加依赖如下:

640?wx_fmt=png

这里仅仅添加了熔断器模块,其他模块可以点击这里[1]。


熔断器


使用这部分功能,需要引入上文所述的依赖。熔断器模式可以帮助我们在远程服务出故障时防止故障级联。

在多次请求失败后,我们就认为服务不可用/超载,并且对之后的请求进行短路处理,这样我们就能节约系统资源。

我们看看resilience4j如何做到这一点。

首先需要定义使用的设置,我们先使用默认设置:

640?wx_fmt=png

当然你也可以自定义一些参数:

640?wx_fmt=png

这里我们设置ratethreshold为20%,最小5次重试。

然后我们创建一个熔断器对象,并调用远程服务:

640?wx_fmt=png

通过junit进行测试,我们会调用服务10次,可以验证服务至少调用5次,如果有20%的失败的情况下ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值