问题标签 [resilience4j]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - resilence4j+springboot2 断路器未打开
我正在尝试在我当前的 spring boot2 项目中使用 resilence4j。我已经编写了以下实现类。即使我打了 1000 次 CB 也没有打开。谁能帮忙找出我做错了什么。
主类
控制器类
带断路器的服务等级:
应用程序.yml
pom.xml
为了测试,我使用了 1000 个重复请求的邮递员。
spring-cloud - 如何为在 SAME Eureka 服务下注册的每个实例配置单独的弹性 4j 断路器
这是我的场景:
Eureka Server: MY-APP-SERVICE,在 localhost:8080、localhost:8081 和 localhost:8082 上运行 3 个相同的 Spring Boot 应用程序实例
OpenFeign 客户端(注解如下)
我有一个代理控制器,例如 MyAppServiceClientController 如下:
当 FeignClient 向 Eureka 注册中心询问服务 MY-APP-SERVICE 时,它会获得所有 3 个实例;似乎resilience4j在服务级别只有1个断路器,这里是MY-APP-SERVICE。
如何配置/注释我的 FeignClient 为我的 MY-APP-SERVICE 中的每个实例/URL 有一个单独的弹性 4j 断路器?
java - Springboot:实现节流
我们正在我们的组织中编写一个全新的 spring-boot-2 应用程序。我们正在探索如何在我们的 api 之上实现节流的选项?有哪些框架可用于实现 spring boot 节流?我们可以使用resilence4j或 Netflix Zuul RateLimiter 来实现这一点?
project-reactor - 为什么在使用 Spring Reactor 时使用断路器和隔板?
请帮我找出断路器和隔板模式在 Spring Reactor 应用程序中有用的原因。
由于操作在 Reactor 中将是非阻塞的,并且这两种模式旨在节省对资源(主要是线程)的潜在影响,因此在什么情况下我可以使 Spring Reactor 应用程序中的模式受益。我在这一点上看到的唯一一件事是,如果请求数量如此巨大以至于将它们保存在内存中,在等待超时(而不是断路器启动和回退)时,我们运行 OOM。
spring-boot - Resilience4j 断路器 Spring Boot 2
断路器将无限时间处于闭合或半开状态,直到达到最低呼叫次数,对吗?有没有什么方法可以设置当没有呼叫时它会变成关闭状态?此外,在半开状态下,最小呼叫数是否可能大于允许的呼叫数?谢谢
spring-boot - Spring Boot弹性4j ip ratelimitter
我的 Spring Boot 项目必须是DDOS 攻击的速率限制ip 地址,但我看不到 ip 的表达式
https://resilience4j.readme.io/docs/getting-started-3
我尝试使用 bucked4j,但我需要所有端点的指标
感谢您的帮助,
junit - 如何对 Resilience4j 断路器回退方法进行单元测试
我正在尝试Resilience4j
CircuitBreaker
对我的服务的配置进行单元测试。但是我在 throw 时无法调用回退方法HttpServerErrorException
。但是,我尝试mock
调用不会使用回退方法的对象。
后备工作正常。失败时AService
,调用将定向到回退方法调用BService
。如何编写测试用例来验证它们?
我是 Resilience4j 和回退模式的新手。请帮我测试一下。
服务等级
服务测试
spring-boot - 如何动态创建断路器实例?
我们与第三方服务器通信,最终将我们的请求转发到相应的服务器(以 serverName 作为参数)。可用的服务器存储在我们的服务中。
我们希望将断路器模式应用于这些服务器中的每一个。目前,我们在最右边有两台服务器(两个断路器,应用于我们服务器中的两种不同方法)。但稍后第三方服务器可以添加更多服务器,并通知我们该更改。
我们希望为这个新服务器创建一个新的断路器。
我们不想破坏 API-0 的电路。我们希望在引入新服务器时即时创建断路器。
假设 api 是这种形式:GET API-0/{serverName}
那么我们想要,
用于 API-0/SERVER-1 的断路器 1
API-0/SERVER-2 的 CircuitBreaker2
... 等等
我们不想对正在运行的服务进行代码更改。如果引入了新服务器,我们会收到通知。使用该通知,我们想创建一个新的断路器
API-0/SERVER-3 的 CircuitBreaker3
这就是我们目前所拥有的。问题是,这只会创建一个断路器实例,因此如果任何服务器(1、2 或 3)出现故障,它就会打开。
我们希望为每个服务器维护单独的断路器(使用 serverName)。服务器可以在运行时创建,因此我们不能为每个服务器都提供单独的功能。
spring-boot - Resilience4j 从不调用回退方法
我是 Resilience4j 和断路器模式的新手。
我为resilience4j 编写了一个示例。详情如下:
pom.xml:
应用程序.yml:
控制器类:
服务等级:
SpringBootApplication 类:
我使用 postman runner 来调用我的 API。我将运行器迭代设置为 200。在 10 次成功的 API 调用后,我在此 url 中停止第三方:http://localhost:8081/serviceOne
据我了解,停止第三方API并记录成功调用的最小次数后,resilience4j开始计算故障率,当故障率大于failureRateThreshold时,调用回退方法(这里是服务类中的testFallBack),电路状态从关闭变为打开模式并返回在 testFallBack() 方法中描述的我想要的答案。
但这永远不会发生(从未调用过 testFallBack() 方法)。我的申请有什么问题?
spring-cloud - Spring Cloud 断路器未进入 OPEN 状态
我正在探索弹簧云断路器,解释她https://www.baeldung.com/spring-cloud-circuit-breaker。共有 3 项服务。
(1) 父服务 (2) 子服务 (3) 数据库。
我在调用子服务的 API 时在父服务上应用了 CircuitBreaker(CB)。当我的数据库关闭时,子级向父级抛出异常,因此父级切换到我配置的后备方法。
CB 永远不会进入 OPEN。每次父服务调用子服务时,即使下游数据库已关闭。
问题:
- 父服务不应该停止调用子服务吗?
- 根据配置,5 个失败调用中的 3 个应该打开 CB。正确的?
如果我在这里缺少任何配置,请帮助我。
库存服务
Pom.xml
- spring-cloud-starter-openfeign
- spring-cloud-openfeign-core
- 春季重试 1.2.4.RELEASE
- spring-cloud-starter-circuitbreaker-resilience4j 1.0.3.RELEASE
- 弹簧云依赖项 Hoxton.SR4