问题标签 [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.
spring - 与反应通量一起使用的 Resilience4j 断路器永远不会在错误时变为 OPEN
我正在评估resilience4j 以将其包含在我们的反应式API 中,到目前为止我使用的是模拟通量。
下面的服务总是失败,因为我想测试电路是否因多个错误而打开:
这是使用存储库的处理程序,打印电路的状态:
我多次调用 API 端点,总是得到这个堆栈跟踪:
如您所见,电路始终处于关闭状态。我不知道它是否有任何关系,但请注意此消息No Consumers: Event ERROR not published
。
为什么这不起作用?
project-reactor - 弹性4j如何在Spring webflux应用程序中使用断路器时处理错误
现在,当电路打开时,连接只是保持打开状态而没有响应。
如果我停止服务器,浏览器会显示:
我想知道如何:
1)解决连接挂起的问题。
2)返回一些东西作为后备。例如一个空的通量。
日志:
调用序列,最后一个,当电路打开时,永远等待:
servlets - Prometheus 指标 servlet 不显示任何指标
我正在使用弹性 4j 断路器,并且无法使用 prometheus servlet 客户端导出指标。我正在部署到 jbossas7 服务器,但我的 /metrics 端点没有显示任何内容。有人有什么想法吗?我将断路器注入到一个 bean 中,它可以与下面的断路器启动代码一起正常工作,该代码位于工厂中。
当我调试我的代码时,我看到在collectorRegistry 中创建并注册了断路器。但是当它被写入 simpleclient servlet 的 servlet 时,没有任何内容写入输出。它只是跳到客户端库代码中的 finally 块
web.xml
pom.xml 依赖项
断路器启动
spring - Spring WebClient Hystrix 或 Resilience4j 还是什么都没有?
我有一个应用程序使用过多的 Web 客户端调用Spring WebClient
,我需要使用 Hystrix 或 Resilience4j 还是在超时等构建方法中使用 Web 客户端(Flux 或 Mono)?
circuit-breaker - 在检查函数中注册失败尝试似乎被计算为双倍
我正在探索resilience4j,并且希望既能够记录检查函数中断路器的故障,又能够返回有意义的结果。但是当我这样做时,失败似乎被计算为两倍。
我使用的是 0.13.1 版:
检查以下测试,我们有一个 10 的封闭环形缓冲区,这表明在 CircuitBreaker 可以跳闸之前应该评估 10 个调用。除非在onError
检查函数中使用断路器方法记录故障,否则会出现这种情况:
我无法找到这种行为的解释,或者是否存在一种方法来记录检查功能内的断路器故障。任何人都可以对此有所了解吗?
干杯!
java - 将 HystrixCommands 迁移到 Resilience4j
鉴于 Hystrix 进入维护模式,我一直致力于将(相当大的)代码库迁移到 Resilience4j。
我在 Hystrix 中大量使用了以下模式:
我想用 Resilience4j 复制一些 Hystrix 的功能。
到目前为止,我有以下语法来连接外部调用:
Resilience
类提供方法的地方single
:
在断路和在不同线程池上运行代码方面,这看起来如何更好地类似于您使用 Hystrix 获得的东西,但是以更理智的方式。我真的不喜欢用 a 来启动链,这样我就可以在实际的可调用对象被包装之前Completable.complete()
强制执行。observeOn
spring-cloud - 使用 Project Reactor 时需要 Resilience4j 吗?
Project Reactor 具有超时、重试、异常后备功能和背压功能。当我在带有 Spring Cloud 的微服务世界中使用带有 Project Reactor 的 Spring WebFlux 时,我还需要 Resilience4j 吗?弹性 4j 提供了哪些特性在 Project Reactor 中不可用?
spring-webflux - 弹性4J + Spring Boot 2.x
我在响应式 API 弹簧启动应用程序中使用弹性 4j 进行容错。我可以看到所有事件都被视为成功,即使 Mono 返回错误。
服务层
application.yml配置
我故意更改了 URI 路径,以便 WebClient 总是返回 404 错误,这会引发 WSException。当我看到下面的端点时,类型总是成功的。我错过了什么?
groovy - 弹性4j中断路器的多个故障率阈值
我对resilience4j 相当陌生。我想知道在同一个断路器配置下是否可以为不同类型的异常设置不同的 failureRateThreshold 设置。我找不到同样的例子。任何帮助将不胜感激。
spring-boot - 如何在调用方法上使用resilience4j?
我尝试使用弹簧重试进行断路器并重试,如下所示,它按预期工作,但问题无法将“maxAttempts/openTimeout/resetTimeout”配置为环境变量(错误应该是常量)。我的问题是如何使用resilience4j 来实现以下要求?
还请建议有一种方法可以将环境变量传递给“maxAttempts/openTimeout/resetTimeout”。
使用的依赖项是