问题标签 [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 回答
773 浏览

microservices - 微服务架构中的断路器

在微服务架构中添加断路器模式的最佳方法是什么。它应该在微服务端(每个微服务内部)、ELB 内部还是 Api 网关内部?什么是最好的设计模式?

0 投票
5 回答
5476 浏览

java - 未调用 Hystrix 回退方法

我正在尝试 hystrix 后备方法。在 localhost:8082 上,客户服务正在运行,它返回客户的名称。

如果客户服务关闭,则应调用回退方法。但它没有发生。

下面是代码片段。

请建议。

0 投票
1 回答
125 浏览

spring-integration - 当故障安全断路器打开时,请求存储在哪里?

故障安全断路器打开时请求存储在哪里?这是否意味着如果我在电路打开时重新启动我的应用程序,我会丢失所有应该重新尝试的请求?有没有办法检索这些消息。

0 投票
0 回答
1714 浏览

spring-boot - 在不使用注释的情况下为每个服务方法配置 Hystrix 命令

我一直在探索在 Spring Cloud Netflix 中使用 Hystrix 支持作为服务方法。

我看到有一种基于注释的方法,可以将 @HystrixCommand 与每个服务方法一起使用,并在属性中提供回退方法。我觉得这将回退方法与代码联系在一起,并且对于所有场景都不灵活。

我正在寻找一种方法来做同样的事情,而无需将代码与注释耦合。我仍然希望每个服务方法都有备用方法,但希望将它们解耦,同时我希望能够根据配置灵活地启用/禁用每个方法的 hystrix。

有没有办法在不使用注释和使用 java/xml/properties 文件配置的情况下使用 Spring Cloud Netflix 实现相同的目标。

更新

我找到了一种为以下每种服务方法启用/禁用回退方法的方法。

我必须向 hystrixCommand 添加一个“ commandKey ”属性并识别 hystrix 命令。

然后,我能够启用/禁用使用 hystrix 命令包装的每个服务方法的回退方法,如下所示在 application.properties 中调用。

不确定这是否是每个方法级别启用/禁用断路器的正确方法。通过此更改,回退在启用时执行,或者在禁用时引发异常。

我还找到了另一个属性,

但是,这只会禁用所有具有应用命令键的方法的断路器功能。它没有按预期工作。不确定它与回退方法启用/禁用有何不同。

但是,我仍然不确定启用后如何更改回退方法名称。

例如,如果我在同一个类或不同的类中有 2 个后备方法(“ getfromCache ”和“ getFromFileSystem ”),并且想要选择一个而不是另一个。

我试过了,

但是,这没有任何效果。我无法用可配置的值覆盖它。

它始终使用作为代码中@HystrixCommand注释的属性属性给出的静态方法名称。

0 投票
1 回答
1371 浏览

akka - http客户端上的断路器在失败后无法关闭

一个看起来非常简单的 akka http 客户端上的断路器示例对我来说不起作用。

它开始非常好地获取随机数。它在与网络断开连接时打开,但在我重新连接时永远不会关闭。正如您从日志中看到的那样,尝试恢复但由于超时而失败:

直觉说它一定是未使用的 http 实体,但我仍然无法正确处理。

这是github上的示例

0 投票
2 回答
195 浏览

c# - 如何在 c# 中的策略断路器内同时等待多个任务?

我无法找到这个问题的答案。请帮忙。
方案
我可以使用 Task.WhenAll 一次等待多个任务。但我希望它在一个策略断路器execution方法中。下面是代码片段。我正在调用 API 2 次,并希望一次获取调用结果。如果没有断路器,它就可以工作,我可以稍后在我的代码中使用结果。但我不明白如何使用Task.WhenAll内部断路器调用 API。

工作代码:

问题:

0 投票
0 回答
101 浏览

java - 我可以将 mongoDB 响应时间设置为固定值吗?

我想测试我的项目中使用的断路器,我想避免睡觉和玩几乎真实的场景——我的 mongoDB 响应时间很慢。如何强制 mongoDB 响应固定时间?让它成为1秒?

0 投票
0 回答
255 浏览

java - 没有在 hystrix 中调用 fallbackMethod

我正在尝试学习和实现 hystrix 断路器。我使用了下面提到的代码。

每当对另一个微服务进行 get 调用时,应用程序都会抛出异常。而它应该执行 fallbackMethod 方法。我究竟做错了什么?

0 投票
1 回答
4437 浏览

c# - Polly ExecuteAndCaptureAsync 在断路器打开时不抛出异常

我有以下代码:

当断路器处于打开状态时,结果简单地为空,不会抛出异常。如果电路打开,它不应该抛出异常吗?

0 投票
2 回答
4163 浏览

fallback - 回退禁用 - Hystrix

我在与 Liferay 和其他外部服务相关的环境中使用 Hystrix。我的电路出现了一些故障并打开了特定服务的电路。到目前为止一切都很好。但是,电路永远不会再次变为闭合。我的后备被这个属性禁用:

hystrix.command.default.fallback.enabled=false

我应该怎么做才能循环检查我的服务是否正常工作并再次更改为关闭?我已经用 Hystrix Dashboard 验证了电路。

这是我的 hystrix 属性: