问题标签 [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 投票
0 回答
655 浏览

java - AppDynamics 不监控来自 Hystrix 应用程序的调用

我开发常见的 java web 应用程序。我Hystrix在我的应用程序中使用,实际上我有一个REST client包含在hystrix命令中的方法。我的 web 应用程序使用这个 rest 客户端与远程服务器通信。hystrix 我的网络应用程序按照wiki中的描述进行配置(需要计算hystrix仪表板的统计信息)。为了监控我的网络应用程序,我使用了AppDynamics工具,但是在我开始使用rest client基于Hystrix来自我的网络应用程序的所有调用之后,并没有显示在AppDynamics. 当我将实现切换到没有 Hystrix 的客户端时,一切都按预期运行。也许有人知道问题出在哪里?谢谢。

0 投票
1 回答
1464 浏览

java - 将 Netflix Zuul 与 Netflix Hystrix 相结合

我是 Netflix 开源项目的忠实粉丝。他们做了一些非常酷的东西。

我已经建立了一个 Zuul 并且工作正常。创建了所有类型的过滤器,这些过滤器是动态加载和运行的。

我现在尝试做的是在过滤器中使用 Hystrix。我看到的是,如果一切正常,一切正常。但是当 run() 方法中出现异常时,Zuul 会捕获它而不是 Hystrix。所以永远不会调用 getFallback()。

我分享了我的代码Github

有人知道 Hystrix 如何代替 Zuul 捕获异常吗?

0 投票
1 回答
744 浏览

rx-java - Observable 和 Future.get 之间有什么区别吗

两者有什么区别吗?

0 投票
1 回答
3279 浏览

java - javanica中的Hystrix异步方法不在spring-boot java应用程序中运行

我正在使用 spring-cloud-starter(即具有所有微服务功能的 spring boot)。当我在使用 javanica @HystrixCommand 注释的组件中创建 hystrix 方法时,请按照 javanica github 站点 ( https://github.com/Netflix/Hystrix/tree/master/hystrix-contrib/hystrix-javanica ) 上的说明进行操作该方法异步运行,无论我使用他们的'Future<>'还是反应式执行'Observable<>',什么都不会运行/执行,
java.lang.ClassCastException: springbootdemo.EricComponent$1 cannot be cast to springbootdemo.Eric每当我尝试提取结果(在Future<>的情况下)或得到一个回调(在响应式执行的情况下......并且 println 的不触发所以它真的没有运行)。

为什么我要返回 aEricComponent$1而不是 a Eric?顺便说一句,Eric只是一个带有 2 个字符串的简单类......它被省略了。

我想我必须显式执行,但这暗示了我,因为:1)使用 Future<> 执行它,queue() 方法不可用,因为文档声称和 2)使用 Observable<> 执行它确实没有'我得到的执行它的方法。

0 投票
1 回答
2953 浏览

dropwizard - 使用 Dropwizard、Hystrix 和 Archaius 使用动态属性

我正在尝试使用 DropWizard 中的 yml 文件将 Dropwizard 与 Hystrix 和 Archaius 一起使用。我需要在运行时动态更改 Archaius 属性文件值。我怎么做 ?我查看了以下链接,并且能够通过扩展 Configuration 类并将其传递给 Application 子类从 YML 属性文件中获取键值数据:http: //christopher-batey.blogspot.com/2014/08/使用-hystrix-with-dropwizard.html

我想使用 Archaius 在运行时动态配置这些属性值。我怎样才能做到这一点 ?将 Tenacity 与 Breakerbox 一起使用对于我需要的东西来说太过分了。上面的文章提到了这一点:“然后扩展您安装的配置以包含动态配置源,例如 ZooKeeper。”-如何在不使用 Zookeeper 的情况下做到这一点,只要我可以更改一个属性文件并让 Hystrix 拿起改变。

TIA,维杰

0 投票
1 回答
1683 浏览

java - hystrix-javanica 注释中的 HystrixCommand 接口缺少 ThreadPoolProperties

我正在尝试将 hystrix-javanica 用于 HystrixCommand 的 AspectJ 注释。我可以按如下方式配置命令属性:

但我没有看到配置线程池属性的选项。我检查了接口,它没有它:github链接 有没有其他方法可以指定它?

0 投票
1 回答
4220 浏览

java - Hystrix 执行模式

我正试图围绕Hystrix进行思考,在阅读了他们的文档后,仍然对其使用模式有疑问。

一方面,我不了解何时使用异步执行与反应式执行的用例。我能看到的唯一区别是异步执行始终是非阻塞的,而 Reactive 既可以是阻塞的,也可以是非阻塞的。所以我想我真正的问题是:

  • 同步和阻塞响应式执行有什么区别?和
  • 异步和非阻塞响应式执行有什么区别?
0 投票
1 回答
13829 浏览

java - Hystrix:自定义断路器和恢复逻辑

我刚刚阅读了Hystrix指南,并试图了解默认断路器和恢复期的操作方式,以及如何自定义它们的行为。

显然,如果电路跳闸,Hystrix 会自动调用命令的getFallBack()方法;这我明白了。但是首先使电路跳闸的标准是什么?理想情况下,在我们认为服务脱机/不健康并触发断路器之前,我想尝试多次访问支持服务(例如,最多 3 次尝试)。我怎么能实现这个,在哪里?

但我想如果我覆盖默认断路器,我还必须覆盖处理默认恢复期的任何机制。如果支持服务出现故障,可能是由于以下几种原因之一:

  • 客户端和服务器之间出现网络中断
  • 该服务部署了一个错误,使其无法向客户端返回有效响应
  • 客户端部署了一个错误,使其无法向服务器发送有效请求
  • 一些奇怪的、短暂的服务中断(也许服务正在执行主要的垃圾收集等)
  • 等等

在大多数情况下,仅仅等待N秒然后重试的恢复期是不够的。如果服务有漏洞,或者有人在数据中心拔了一些网线,我们总是会从这个服务中得到故障。只有在少数情况下,客户端服务会在没有任何人工交互的情况下自动自我修复。

所以我猜我的下一个问题部分是“如何自定义默认恢复期策略? ”,但我猜主要是:“当服务宕机需要人工干预时,如何使用 Hystrix 通知 devops?

0 投票
3 回答
7655 浏览

java - Hystrix 请求缓存示例

我试图弄清楚Hystrix 请求缓存是如何工作的,但没有遵循他们在文档中提供的 wiki 或端到端示例。

基本上我有以下HystrixCommand子类:

所以我觉得我在这里违背了常规。我相信Hystrix 提供内置缓存,正如' cacheKey'所证明的那样,但我找不到任何工作示例。如果已经提供了开箱即用的东西,我不想在这里重新发明轮子并将缓存构建到我的命令中。

所以我问:Hystrix 的请求缓存是什么样的(确切地说)?如何将条目添加到缓存中?如何/何时刷新缓存?它是否可配置(到期、最大大小等)?

0 投票
1 回答
3288 浏览

java - Hystrix:验证失败的 HystrixBadRequestException

我试图了解 Hystrix 如何处理非故障错误HystrixBadRequestException,尤其是在验证领域。我对所有 bean 使用 JSR-303 bean 验证(Hibernate 验证器):

虽然这应该可行,但我觉得它HystrixBadRequestException是为此目的而创建的,并且我可以以某种方式将命令validator 放在命令内部(而不是在命令外部)。根据文档,此异常旨在用于非故障异常,包括非法参数。我只是没有看到如何将我的验证放入命令中并利用它(这样失败的验证不计入我的指标/统计数据)。