问题标签 [circuit-breaker]
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.
web-services - Akka Http 断路器
使用断路器模式时,是否可以将所有外部服务调用包装在传递给的方法中,.withCircuitBreaker()
或者每个调用本身都应该传递给.withCircuitBreaker()
?例如。
更新:如果是 Web 服务,是否可以在 中注册断路器,mainActorSystem
或者我应该使用单独的circuitBreakerActorSystem
?
apache-camel - 如何在 Apache Camel 中结合重试和断路器?
我想重试 3 次,然后将失败阈值增加到 1。当这个阈值达到 5 时,我想在 Apache Camel 中打开电路。
我知道 Camel 支持断路器,但是我找不到可以将重试与它结合使用的示例。
任何帮助是极大的赞赏。
提前致谢。
拉梅什。
spring - 方法参数不匹配的 Spring Hystrix 单一后备
我想知道是否可以实现以下类似的东西,因为我有很多端点变体,并且每个端点都有一个带有匹配参数的后备方法非常混乱。或者,全局后备也可以。
nservicebus - 如何增加 NServiceBus 4.x TimeoutPersisterReceiver 断路器
如何增加 NServicebus 4.x 的 TimeoutPersisterReceiver 的时间跨度?
我们如何从容器中获取 TimeoutPersisterReceiver 对象并修改 SecondsToSleepBetweenPolls 值?投票次数是否有任何属性?
以下链接仅适用于5.x
&6.x
不适用于4.x
:
http ://docs.particular.net/nservicebus/errors/critical-exception-for-timeout-outages
编辑:嗨,Marcin,谢谢。我查看了您提供的链接:如何配置 TimeoutPersisterReceiver.SecondsToSleepBetweenPolls。
NServicebus 修复了 5.x,但没有修复 4.x。@JustABitOfCode 提到了配置 TimeoutPersisterReceiver。但我找不到任何关于如何从容器中获取该实例并设置它的链接。另外我的问题是,有没有办法控制断路器进行的民意调查次数?
正如我所提到的,我暂时对 4.x 感到震惊。任何帮助将不胜感激。
c# - Polly 断路器模式 - 用于测试连接字符串
我正在尝试使用 Polly 测试连接字符串是否为空。如果为空,我想使用 CircuitBreaker 尝试 3 次,消息应该会在 Console 窗口中输出。
GetConnectionString 方法是:
为了对此进行测试,我在 App.config 中更改了连接字符串名称。
但是它似乎没有处理 NullReference 异常。
当我调试应用程序时 - 它打开 CircuitBreakerEngine.cs not found 并仅打印“对象引用未设置为对象的实例”。
预期:打印未设置为对象实例三次的对象引用和来自断路异常的消息
c# - 如果发生异常,Polly 框架 CircuitBreakerAsync 不会重试
我正在使用 Polly 框架进行瞬态故障处理。对于同步操作,Polly 断路器策略工作正常,但是当我创建它的异步版本时,它不会重试执行。请建议:
异步方法:
Polly 断路器异步策略:
执行 Polly 断路器策略:
AsyncDemo3(HelloWorld);
请帮助查找并解决问题。
java - 增加 Hystrix 断路器超时?
我有一个 Hystrix 断路器的实现,并且在测试时我得到了一个 Hystrix 运行时异常,错误是 CircuitBreker 超时和回退失败。我需要增加 CircutBreaker 的超时时间吗?如果代码超时,它是否应该让断路器跳闸?
我的junit测试如下:
我的课程只是使用 CircuitBreaker 运行 web 获取/放置/等,以防万一发生故障。我的班级如下:
spring-boot - 下游服务恢复后 Hystrix 电路未关闭
我正在玩 Josh Long 的bootiful-microservice 项目。(布里克斯顿子项目)
在预订服务上,我添加了一个简单的状态方法,它可以休眠一段可配置的时间来模拟负载:
该sleepTime
变量是从 Spring Config Server 中提取的
在预订客户端上,我在网关中添加了一个入口点:
我正在使用HystrixCommand
这一切都很好。
我将睡眠时间设置为 1500 毫秒,以便某些请求将高于 Hystrix 默认阈值(1000 毫秒)。
当我开始使用 API 时,由于超时,我遇到了一些失败。如果我击打的时间足够长(似乎可以工作 50 次),断路器触发并且电路打开:
我的理解是,随着下游服务再次变得健康,Hystrix 将尝试路由 1 个呼叫并将其用作健康检查。如果调用成功,电路应再次关闭。
然而,这并没有发生在这里。即使将睡眠时间更改为较小的值(例如 500 毫秒),电路仍将保持打开状态。我的所有呼叫都没有路由到预订服务,并且每次呼叫都使用回退。我可以让电路再次关闭的唯一方法是重新启动预订客户端服务。
我错过了什么?Hystrix 有问题吗?还是与 Spring 集成?
更新
我做了进一步的测试,我可以确认电路将永远保持关闭,即使在睡眠减少之后也是如此。
但是,如果我在 Zuul 配置中使用路由,我会得到预期的行为。如果看到没有超时的请求,电路会自行关闭。
我注意到通过路由转发与在 Spring 中手动转发相比的另一个区别。如果我创建过滤器,我在客户端上的 /status/ 调用不会触发过滤器。当我设置路由时(例如 /foos/status => /status),它将触发过滤器并且 Hystrix 行为正常。
这是Spring中的错误吗?
spring-cloud - 带有断路器的spring cloud zuul静态路由
我已经为 Zuul 配置了到其他微服务的静态路由。有没有办法在调用其他服务时启用 CircuitBreaker?
c# - 如何对 DotNetCircuitBreaker 进行异步调用
我正在使用 DotNetCircuitBreaker 并尝试像这样调用异步方法
参数 1:无法从 System.Threading.Tasks.Task"int" 转换为 System.Func"System.Threading.Tasks.Task"
如何修复我的 calc 方法