问题标签 [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.
timeout - 获取hystrix超时异常
有没有办法获取来自 hystrix 而不是您的run
代码的异常?当我调用getFailedExecutionException()
时getFallback()
,如果异常是由超时之类的原因引起的,则异常为空。
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”)和集群(“默认”)计算的:
当同一台主机提供两种不同的微服务时,我们该怎么办?在这种情况下,仅注册了第一个实例。
node.js - 无法处理 hystrix 模块中的 request-promise-json 错误
我是节点 js 的新手,我必须在节点 js 中为我的项目实现 hystrix 弹性库,但我被困在某一点上。我面临的问题是,每当我从服务器应用程序发送错误代码(4xx,5xx)时,我都无法使用 Promise 处理它们。我正在粘贴我的app.js和server.js文件的代码。虽然该项目还有其他几个文件,但这些文件用于启动所有过程,但唯一的问题在于 app.js。
请帮助我如何有效地处理被拒绝的承诺错误,这样我就不会在app.js的 isErrorHandler 方法中为 res,body 得到 undefined 。
我还将添加控制台数据。
应用程序.js
服务器.js
控制台输出:
如果我没有错,那么问题只是在处理执行返回 4xx,5xx 错误的请求的承诺时。
java - 具有业务异常的 Hystrix 断路器
我观察到 Hystrix 将所有来自命令的异常都视为故障,以达到断路的目的。它包括从命令run() 方法抛出并由Hystrix 自身创建的异常,例如HystrixTimeoutException。
但是我有业务异常要从 run() 方法中抛出,这表示该服务以必须进一步处理的有效错误响应。此类异常的一个示例是使用 SpringWS 中的 WebServiceTemplate 时的 WebServiceFaultException。
所以我不需要那些特定的例外来跳闸。如何实现这种行为?
有一种显而易见的方法可以将业务异常包装到持有者对象中,从 run() 方法返回它,然后将其解包回 Exception 并重新抛出。但它想知道是否有更清洁的方法。
java - 构建 hystrix 时遇到问题
最初我有一个问题:
构建错误:配置根项目“hystrix”时出现问题。> 无法通知项目评估侦听器。
在资源路径中找不到 JNA 本机支持 (com/sun/jna/linux-ppc64le/libjnidispatch.so)。
我将 jna.jar 放到 /jre/lib/ext 文件夹中,这样就解决了 JNA 原生支持错误,
现在我遇到了以下错误。
你们中的任何人都可以调查一下吗。
谢谢,
萨拉马尼
spring - 春云侧车hystrix超时不火
我有一个带侧车的简单弹簧云应用程序,代码如下:
侧车通过zuul调用另一个服务,我试图配置hystrix超时但没有成功!这是我的配置:
在这些配置中,我希望如果对其他服务的调用将花费超过 100 毫秒,那么 hystrix 将立即返回,但这不会发生(服务 hystrix 调用需要 10 秒)
我是否配置错误?
注意:对另一个服务的调用是:http://localhost:9085/cma/myinfo1所以调用到达边车,cma 是远程服务的 Eureka 名称,它调用服务 cma 中的函数 myinfo1.. .
java - 无法在 Hystrix 中应用“sleepWindowInMilliseconds”属性
您好我正在尝试在我的示例程序中使用 Hystrix 模式。使用以下版本 com.netflix.hystrix:hystrix-core:1.4.21
当我运行上面的代码时,我会不断地跟踪。
我认为由于我已将 withCircuitBreakerErrorThresholdPercentage 设置为 5% 并将 withCircuitBreakerSleepWindowInMilliseconds 设置为 60000(1 分钟),我认为一旦收到少量错误,它将打开电路并始终返回 FALLBACK,它甚至不会尝试调用 invokeService因此在 60 秒内不会打印“Inside invokeService”。有人可以对此有所了解,为什么电路没有打开?
java - Hystrix 是否能够根据方法参数打开电路?
如果我有以下 Hystrix 命令:
调用者:
如果Hystrix因为“Looong”的呼叫超时而打开电路,这是否意味着“Quick”的呼叫将被打开?
caching - Netflix hystrix 共享请求缓存
我正在使用基于 Netflix OSS 架构的 Spring Cloud。我需要缓存我使用 Get-Set-Get 模式的方法之一的结果。
现在我的问题很简单。我需要知道如果我运行了该服务的多个实例,是否可以使用分布式缓存?如果是,如果大小增加,我可以使用 Redis 之类的东西吗?
java - spring-cloud/spring-cloud-netflix,设置 hystrix origin id
我正在使用 spring-cloud-samples/customer-stores 示例并按照描述的方式工作(特别是使用 1.1.0-BUILD-SNAPSHOT)
看来,当事物流向 hystrix 时,它会附加一个原始对象,如下所示:
具体来说,看起来“id”是从 :: 创建的serviceId
:spring.profiles.active
server.port
当你有几个不同的组合可以使用时,这工作得很好,但是,当我在不同的 ips 上运行多个服务时,server.port
或者在运行多个具有相同的 docker 容器时server.port
,涡轮聚合会出现乱码并导致没有意义,因为数据正在自己写。
我想知道 Spring 中是否有一种特定的方式可以在我们的设置中专门影响该 id 的值。