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

0 投票
3 回答
6843 浏览

java - 如何强制 Hystrix 断路器打开?

我想以编程方式强制断路器为特定组打开。我想我可以通过在组中的命令上设置配置以强制打开并运行该命令来做到这一点。但是,这似乎不起作用。这可能吗?我应该采取不同的方法吗?这是我在第二次 assertEquals 调用中失败的测试。

0 投票
3 回答
14997 浏览

java - Java中断路器的Hystrix配置

我正在编写一个应用程序,我想实现断路器模式。这是我编写的 Hystrix Command 类:

我无法理解如何配置线程数、断路器的阈值时间和要处理的请求数。

0 投票
1 回答
1368 浏览

c# - 断路器的最佳实践是什么,捕获所有异常或特定异常?

所以我在 C# 中使用Polly (fantastic) 作为断路器。

我在调用 Web 服务时使用它来捕获一些异常,例如:

但我想知道这样做是否会容易得多:

然后,如果服务呼叫有任何类型的问题,我将被涵盖。但是我现在担心这样做会在将来给自己带来一些我没有考虑过的问题。

有什么想法吗?

0 投票
1 回答
254 浏览

hystrix - Hystrix 断路器连续失效

有没有办法在 X 次连续失败后配置断路器跳闸而无需自己实施?

我所能找到的关于特定时间内失败的百分比。

0 投票
1 回答
759 浏览

java - Mockito 测试具有调用网关服务的步骤的方法

我正在使用Spring-Breaker 项目为我的代码实现一个断路器解决方案,并为此编写测试用例。

考虑以下示例:

我需要测试 methodA 并使用 CircuitBreaker 超时使其失败,所以我编写了一个模拟这个的测试类。

我如何确保我调用了 methodA() 但也模拟了 gatewayServiceCall。

我希望这个问题很清楚。如果不是,请告诉我。我将尝试进一步详细说明。

谢谢。

0 投票
1 回答
906 浏览

java - Apache Camel 断路器最初处于打开状态

我想尝试一下 Apache Camel 断路器 ( http://camel.apache.org/load-balancer.html ) 模式。它的行为不像我想要的那样。

骆驼路线

我的路由看起来像这样

主要应用

主应用程序每秒将整数值从 0 到 99 的消息触发到 foo 路由。

我的期望:

到达带有 12 的 Message 时, foo 路由会抛出异常,并且 pleaseHoldTheLine 路由应该介入。5 秒后,再次询问 foo 路由,如果没有发生异常,则 foo 路由将再次处理。

怎么了:

BW休伯特

0 投票
1 回答
3945 浏览

java - 具有业务异常的 Hystrix 断路器

我观察到 Hystrix 将所有来自命令的异常都视为故障,以达到断路的目的。它包括从命令run() 方法抛出并由Hystrix 自身创建的异常,例如HystrixTimeoutException。

但是我有业务异常要从 run() 方法中抛出,这表示该服务以必须进一步处理的有效错误响应。此类异常的一个示例是使用 SpringWS 中的 WebServiceTemplate 时的 WebServiceFaultException。

所以我不需要那些特定的例外来跳闸。如何实现这种行为?

有一种显而易见的方法可以将业务异常包装到持有者对象中,从 run() 方法返回它,然后将其解包回 Exception 并重新抛出。但它想知道是否有更清洁的方法。

0 投票
1 回答
484 浏览

java - 无法在 Hystrix 中应用“sleepWindowInMilliseconds”属性

您好我正在尝试在我的示例程序中使用 Hystrix 模式。使用以下版本 com.netflix.hystrix:hystrix-core:1.4.21

当我运行上面的代码时,我会不断地跟踪。

我认为由于我已将 withCircuitBreakerErrorThresholdPercentage 设置为 5% 并将 withCircuitBreakerSleepWindowInMilliseconds 设置为 60000(1 分钟),我认为一旦收到少量错误,它将打开电路并始终返回 FALLBACK,它甚至不会尝试调用 invokeService因此在 60 秒内不会打印“Inside invokeService”。有人可以对此有所了解,为什么电路没有打开?

0 投票
1 回答
1028 浏览

java - Hystrix 是否能够根据方法参数打开电路?

如果我有以下 Hystrix 命令:

调用者:

如果Hystrix因为“Looong”的呼叫超时而打开电路,这是否意味着“Quick”的呼叫将被打开

0 投票
3 回答
1459 浏览

azure - 天蓝色中是否有任何断路器模式的本机实现?

我想以与 Hystrix 或 Akka.net 相同的方式将对依赖项的调用包装在断路器/超时/重试中,但是因为我正在天蓝色中构建云服务和工作角色,所以我想知道是否有一个天蓝色的实现,可以让我们做到这一点。

有没有本地的天蓝色方法可以做到这一点?我正在查看服务结构,但我不确定它是否这样做,我们希望在 azure 平台上实现我们的服务,而不是在 azure 基础架构上。