问题标签 [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.

0 投票
0 回答
1128 浏览

java - resilence4j+springboot2 断路器未打开

我正在尝试在我当前的 spring boot2 项目中使用 resilence4j。我已经编写了以下实现类。即使我打了 1000 次 CB 也没有打开。谁能帮忙找出我做错了什么。

主类

控制器类

带断路器的服务等级:

应用程序.yml

pom.xml

为了测试,我使用了 1000 个重复请求的邮递员。

0 投票
0 回答
442 浏览

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 断路器?

0 投票
2 回答
1854 浏览

java - Springboot:实现节流

我们正在我们的组织中编写一个全新的 spring-boot-2 应用程序。我们正在探索如何在我们的 api 之上实现节流的选项?有哪些框架可用于实现 spring boot 节流?我们可以使用resilence4j或 Netflix Zuul RateLimiter 来实现这一点?

0 投票
1 回答
457 浏览

project-reactor - 为什么在使用 Spring Reactor 时使用断路器和隔板?

请帮我找出断路器和隔板模式在 Spring Reactor 应用程序中有用的原因。

由于操作在 Reactor 中将是非阻塞的,并且这两种模式旨在节省对资源(主要是线程)的潜在影响,因此在什么情况下我可以使 Spring Reactor 应用程序中的模式受益。我在这一点上看到的唯一一件事是,如果请求数量如此巨大以至于将它们保存在内存中,在等待超时(而不是断路器启动和回退)时,我们运行 OOM。

0 投票
1 回答
616 浏览

spring-boot - Resilience4j 断路器 Spring Boot 2

断路器将无限时间处于闭合或半开状态,直到达到最低呼叫次数,对吗?有没有什么方法可以设置当没有呼叫时它会变成关闭状态?此外,在半开状态下,最小呼叫数是否可能大于允许的呼叫数?谢谢

0 投票
1 回答
494 浏览

spring-boot - Spring Boot弹性4j ip ratelimitter

我的 Spring Boot 项目必须是DDOS 攻击的速率限制ip 地址,但我看不到 ip 的表达式

https://resilience4j.readme.io/docs/getting-started-3

我尝试使用 bucked4j,但我需要所有端点的指标

感谢您的帮助,

0 投票
0 回答
2381 浏览

junit - 如何对 Resilience4j 断路器回退方法进行单元测试

我正在尝试Resilience4j CircuitBreaker对我的服务的配置进行单元测试。但是我在 throw 时无法调用回退方法HttpServerErrorException。但是,我尝试mock调用不会使用回退方法的对象。

后备工作正常。失败时AService,调用将定向到回退方法调用BService。如何编写测试用例来验证它们?

我是 Resilience4j 和回退模式的新手。请帮我测试一下。

服务等级

服务测试

0 投票
1 回答
222 浏览

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)。服务器可以在运行时创建,因此我们不能为每个服务器都提供单独的功能。

0 投票
0 回答
3094 浏览

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() 方法)。我的申请有什么问题?

0 投票
0 回答
122 浏览

spring-cloud - Spring Cloud 断路器未进入 OPEN 状态

我正在探索弹簧云断路器,解释她https://www.baeldung.com/spring-cloud-circuit-breaker。共有 3 项服务。

(1) 父服务 (2) 子服务 (3) 数据库。

我在调用子服务的 API 时在父服务上应用了 CircuitBreaker(CB)。当我的数据库关闭时,子级向父级抛出异常,因此父级切换到我配置的后备方法。

CB 永远不会进入 OPEN。每次父服务调用子服务时,即使下游数据库已关闭。

问题:

  1. 父服务不应该停止调用子服务吗?
  2. 根据配置,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