问题标签 [hystrix]

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 投票
1 回答
349 浏览

timeout - 获取hystrix超时异常

有没有办法获取来自 hystrix 而不是您的run代码的异常?当我调用getFailedExecutionException()getFallback(),如果异常是由超时之类的原因引起的,则异常为空。

0 投票
3 回答
1921 浏览

spring - Spring Cloud Netflix Hystrix Turbine 未从同一主机上的服务获取信息

我已按照Spring Cloud Netflix 的指南配置 Turbine。在两个微服务中启用 Hystrix 后,我已经验证 /hystrix.stream 端点生成正确的输出。

现在在一个 hystrix 仪表板项目中,我已经配置了 Turbine 以获取所有服务的聚合结果。然而,我得到的只是一系列的:

这是我的配置:

HystrixDashboard + Turbine 应用:

HystrixDashboard + Turbine application.yml:

更新

按照 kreel 的指示,我以这种方式配置了 Turbine:

它不再因异常而失败,在日志中我看到 Turbine 找到了两个候选主机/微服务:

然而,其中只有一个最终被注册。仅在InstanceObservable.run()其中一个主机中添加,因为它们具有相同的哈希码,因此在添加到 newState.hostsUp 时它们被认为是相同的。哈希码是根据com.netflix.turbine.discovery.Instance主机名(两种情况下的“myhost”)和集群(“默认”)计算的:

当同一台主机提供两种不同的微服务时,我们该怎么办?在这种情况下,仅注册了第一个实例。

0 投票
1 回答
554 浏览

node.js - 无法处理 hystrix 模块中的 request-promise-json 错误

我是节点 js 的新手,我必须在节点 js 中为我的项目实现 hystrix 弹性库,但我被困在某一点上。我面临的问题是,每当我从服务器应用程序发送错误代码(4xx,5xx)时,我都无法使用 Promise 处理它们。我正在粘贴我的app.jsserver.js文件的代码。虽然该项目还有其他几个文件,但这些文件用于启动所有过程,但唯一的问题在于 app.js。

请帮助我如何有效地处理被拒绝的承诺错误,这样我就不会在app.js的 isErrorHandler 方法中为 res,body 得到 undefined 。

我还将添加控制台数据。

应用程序.js

服务器.js

控制台输出:

如果我没有错,那么问题只是在处理执行返回 4xx,5xx 错误的请求的承诺时。

0 投票
1 回答
3945 浏览

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

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

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

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

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

0 投票
0 回答
159 浏览

java - 构建 hystrix 时遇到问题

最初我有一个问题:

构建错误:配置根项目“hystrix”时出现问题。> 无法通知项目评估侦听器。

在资源路径中找不到 JNA 本机支持 (com/sun/jna/linux-ppc64le/libjnidispatch.so)。

我将 jna.jar 放到 /jre/lib/ext 文件夹中,这样就解决了 JNA 原生支持错误,

现在我遇到了以下错误。

你们中的任何人都可以调查一下吗。

谢谢,
萨拉马尼

0 投票
1 回答
327 浏览

spring - 春云侧车hystrix超时不火

我有一个带侧车的简单弹簧云应用程序,代码如下:

侧车通过zuul调用另一个服务,我试图配置hystrix超时但没有成功!这是我的配置:

在这些配置中,我希望如果对其他服务的调用将花费超过 100 毫秒,那么 hystrix 将立即返回,但这不会发生(服务 hystrix 调用需要 10 秒)

我是否配置错误?

注意:对另一个服务的调用是:http://localhost:9085/cma/myinfo1所以调用到达边车,cma 是远程服务的 Eureka 名称,它调用服务 cma 中的函数 myinfo1.. .

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 投票
1 回答
717 浏览

caching - Netflix hystrix 共享请求缓存

我正在使用基于 Netflix OSS 架构的 Spring Cloud。我需要缓存我使用 Get-Set-Get 模式的方法之一的结果。

现在我的问题很简单。我需要知道如果我运行了该服务的多个实例,是否可以使用分布式缓存?如果是,如果大小增加,我可以使用 Redis 之类的东西吗?

0 投票
1 回答
202 浏览

java - spring-cloud/spring-cloud-netflix,设置 hystrix origin id

我正在使用 spring-cloud-samples/customer-stores 示例并按照描述的方式工作(特别是使用 1.1.0-BUILD-SNAPSHOT)

看来,当事物流向 hystrix 时,它会附加一个原始对象,如下所示:

具体来说,看起来“id”是从 :: 创建的serviceIdspring.profiles.activeserver.port

当你有几个不同的组合可以使用时,这工作得很好,但是,当我在不同的 ips 上运行多个服务时,server.port或者在运行多个具有相同的 docker 容器时server.port,涡轮聚合会出现乱码并导致没有意义,因为数据正在自己写。

我想知道 Spring 中是否有一种特定的方式可以在我们的设置中专门影响该 id 的值。