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

spring - Spring Cloud Hystrix 仪表板不与 OAuth 一起使用

我正在尝试使用 Hystrix Dashboard 运行一个简单的 Spring 应用程序。我还在这个应用程序上启用了 Spring 安全性,因为我要监控的 hystrix.streams 已启用安全性。

当我访问仪表板 url 时,我会按预期重定向到登录页面以获取我的令牌,然后登录后,我会看到仪表板页面。然后我粘贴我希望监控的 hystrix.stream 的 url 并按下监控器,但是,下一页只是对电路和线程池都有“正在加载...”。我在 PCF 环境中运行它:

在此处输入图像描述

我可以在项目的 Gradle 依赖项中看到 Spring Cloud Starter 包含的 Hystrix 版本是 1.4.0-RC6。我从这里下载了 hystrix-dashboard 1.4.0-RC6 的战争,然后运行它,并注意到即使我在授权窗口中粘贴了正确的令牌,效果与 Spring Cloud Hystrix Dashboard 相同 - 当我运行 hystrix-dashboard wars 1.4 版时,卡在“正在加载...” .3 及更高版本,没有问题。

也许 Spring Cloud Hystrix 中的 hystrix 版本需要更新?

0 投票
3 回答
14997 浏览

java - Java中断路器的Hystrix配置

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

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

0 投票
1 回答
1944 浏览

spring-boot - Spring Cloud Turbine - 无法处理多个客户端?

我在让 Turbine 在 Spring Cloud 中工作时遇到了一些麻烦。简而言之,我无法确定如何将其配置为一次聚合来自多个应用程序的电路。

我有 6 个独立的服务,一个 eureka 服务器和一个以独立模式运行的涡轮服务器。我可以从我的 Eureka 服务器上看到所有服务都已注册,包括涡轮机。我的涡轮服务器已启动并正在运行,我可以毫无问题地看到它的 /hystrix 页面。但是当我尝试用它来检查turbo.stream时,我只看到turbo.appConfig中列出的FIRST服务器,其余的都被忽略了。

这是我的 Turbine 服务器的 application.yml,或者至少是相关部分:

当我运行它并访问我的涡轮机实例上的 hystrix 仪表板,请求涡轮机.stream 时,输出中列出的唯一断路器是 appConfig 中列出的第一个服务,在这种情况下是“句子”服务。奇怪的是,如果我重新排列这些服务的顺序并将另一个放在首位(如“名词”),我只会看到该服务的电路。仅显示列表中的第一个服务。

我承认对一些术语有些困惑,比如流、集群等,所以我可能在这里遗漏了一些基本概念,但我的理解是 Turbine 可以从多个服务中消化流并聚合它们在单个显示器中。建议将不胜感激。

0 投票
1 回答
1908 浏览

java - 无法通过 hystrix-metrics-event-stream servlet 在 Dropwizard 应用程序中查看 Hystrix 指标

我有一个 Dropwizard 0.8.1 应用程序,我在其中添加了许多HystrixCommand用于调用各种外部服务的类。我现在想可视化与调用这些服务相关的统计信息,但我似乎无法让我的应用程序与Hystrix Dashboard一起玩得很好。所有文档似乎都暗示,如果我让hystrix-metrics-event-streamservlet 在我的应用程序中工作,那么一切都应该正常工作,但是当我直接调用我的 servlet 端点(curl http://localhost:8080/hystrix.stream)时,我只会得到一长串的ping:行,这意味着没有可用的指标发表。我有一个 cron 作业反复调用我的HystrixCommand对象以尝试生成一些统计信息,但无济于事。

有什么我没有做的吗?我已将依赖项添加到我的pom.xml

我已将 servlet 集成到 Dropwizard 中App.java

我是否可能需要手动发布指标数据以供HystrixMetricsPoller? 或者也许我需要为我的开发环境调整一些配置?帮助表示赞赏!

0 投票
4 回答
4720 浏览

java - Hystrix 的替代品来包裹一个节俭的客户?

我正在查看 netflix 的 hystrix 来处理网络调用。

使用 hystrix,您可以HystrixCommand<E>为需要使用的每个潜在 RPC 命令定义一个子类。

我有一个 apache thrift 客户端,它有很多命令。是否有任何替代 hystrix 的方法可以让我轻松地将其包裹在整个客户端上,而不必HystrixCommand为每个函数定义一个类?

0 投票
2 回答
445 浏览

apache-camel - 发生错误时如何暂停或减少 Camel Hazelcast SEDA 消费者的吞吐量

我有一条 Camel 路线使用来自 Hazelcast SEDA 队列的消息。如果在处理消息时出现任何错误,我想减少消耗的吞吐量,以避免将大量消息移动到死信队列。我一直在调查通过使用 带有动态值和断路器的 http://camel.apache.org/throttler.html 来破解某些东西:http : //camel.apache.org/load-balancer.html但没有成功。

有没有其他方法可以做到这一点?

0 投票
1 回答
463 浏览

spring-cloud - Turbine 通过 Eureka 不知道每个应用程序的 contextPath

在 JBoss 上部署支持 Spring Cloud 的微服务时,我们必须使用 contextPath。Turbine 似乎没有从 eureka 获取 contextPath,并且 eureka 似乎也没有向微服务询问它。

更多细节:

每个微服务都有自己的 Jboss,以及在战争中定义的自己的 contextPath,如下所示:

端点(执行器和我们自己的)在 contextPath 之后暴露(不使用 management.context-path):

Eureka 只关心主机名和端口。它允许我们为 info 和 health 定义不同的 UrlPath,尽管这不是 Turbine 需要获取 hystrix.stream 的数据的一部分:

有没有办法告诉 Turbine 哪个 contextPath 用于哪个应用程序?这些对于每个应用程序都是不同的,所以我想这里描述的集群范围的修复是不够的。

0 投票
3 回答
40222 浏览

design-patterns - Hystrix 使用的 Bulkhead Pattern 是什么?

Hystrix 是一种用于复杂分布式系统中的延迟和容错的 Netflix API,它使用Bulkhead Pattern技术进行线程隔离。有人可以详细说明一下。

0 投票
1 回答
540 浏览

java - 如何在异步模式下使用 Netflix ObservableResult 和 rxJava

我试图使用 netflix observable 但是我设法只同步地这样做:

这就是我定义远程调用的方式:

//这里我实际上是在调用(并观察这个方法)

但这是同步工作的。我希望能够在执行之前“收听”executeObservableBro。并且每次执行时都会收到通知。

示例将不胜感激。

谢谢,雷。

0 投票
1 回答
4795 浏览

java - 我们可以使用 Spring-cloud-netflix 和 Hystrix 重试失败的执行吗

我正在使用 Spring-Cloud-netflix 库。

我想知道是否有一种方法可以获取此代码并添加配置它而不是立即执行回退方法以重试执行N次,并且在N次的情况下执行回退方法:

谢谢,雷。