问题标签 [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.
spring-boot - 如何向 Turbine 添加额外的 Hystrix 指标聚合
我的设置是使用 netflix 库的 Spring Boot Cloud,我设法让 Turbine 从一项服务聚合 Hystrix 指标。但是,当我添加更多服务时,我看不到它们。
这是我的设置(也将其上传到 github 上: Project On Github
服务一:
飞行集成服务:
服务二:
优惠券服务:
尤里卡应用服务:
应用程序.yaml:
引导程序.yaml
最后是涡轮服务:
应用程序.yaml:
我究竟做错了什么?为什么我实际上不能汇总这两个服务 hystrix 指标(飞行集成服务,优惠券服务)谢谢。
jdbc - Hystrix 应该替换现有的 JDBC/HTTP 连接池,还是委托给它们?
许多应用程序将连接池用于 HTTP 和 JDBC 调用以实现弹性。但是使用和配置这两种类型的池是非常不同的。这复制了实现两者共有的弹性模式的复杂性——例如超时、重试、缓存/警报回退、断路和监控。
在我看来, Hystrix为 HTTP 和 JDBC 调用提供了配置和实现这些相同弹性模式的通用方法。
我的问题是:
- Hystrix 理论上可以完全替代现有的 HTTP 和 JDBC 连接池吗?
- 如果是这样,这样做的利弊是什么?
完全替换它们可以减少围绕这些连接池的复杂性 - 以及它们伴随的超时和验证查询属性等。但是我对 Hystrix 如何“保持活动” JDBC / HTTP 连接 - 从而避免昂贵的连接设置成本 - 没有委派给专门用于这些任务的现有图书馆。
对于上下文,我有一个 DropWizard 应用程序,它使用 Tomcat DBCP 作为其 JDBC 连接池,使用 Apache HttpClient 作为其 HTTP 连接池。
hystrix - 超时时需要清理的 Hystrix 命令
我有一个 Hystrix 命令,在超时时需要清理。我们目前处理这个问题的方法如下:
Hystrix 框架是否为此提供了另一种方式?
spring - 使用 Spring Cloud Netflix 时覆盖 Hystrix 属性
我有一个通过 Spring Cloud 库使用 Netflix Hystrix 的 Spring Boot 应用程序,一切正常。
我想覆盖 Hystrix 的一些基本属性,例如hystrix.threadpool.default.coreSize
和/或hystrix.threadpool.default.maxQueueSize
。不幸的是,我找不到一些开箱即用的 Spring Boot 属性来执行此操作,那么在应用程序启动时我需要做些什么来设置这些属性?
这些属性是如何在 spring-cloud-starter-hystrix 模块中设置的?
promise - Hystrix:在 getFallBack() 中进行网络调用
我一直在玩 Netflix OSS Hystrix,现在我正在探索不同的配置和可能性,以将其包含在我的项目中。除其他外,我的应用程序需要在HystrixCommand.getFallBack()
...中进行网络调用
现在,我读到最好不要在那里进行网络调用,而是提供一些通用答案(请参阅Hystrix Wiki),如果确实有必要这样做,应该使用HystrixCommand
or HystrixObservableCommand
。
我的问题是,如果我使用我HystrixCommand
应该调用它,例如,使用HystrixCommand.run()
orHysrixCommand.queue()
或其他选项?
另外,在我的日志中,我注意到getFallBack()
可以有不同的调用线程(例如,Hystrix-Timer,我想这取决于谁中断了 run 方法)。在这里,我想知道HystrixCommand.run()
从后备中调用 shell 会如何影响我的性能,因为调用线程将处于活动状态并被阻塞,直到该命令完成?
编辑:以新的眼光看待这个问题,我现在认为“通用答案”(上面提到的)可能是某种形式的Promise
ie,CompletableFuture<T>
在 Java 术语中。因此,从 中返回承诺HystrixCommand.run()
将允许调用线程(Hystrix 内部)立即返回,从而释放它。但是现在我坚持实施这种行为。有任何想法吗?
非常感谢您的帮助!
jersey - Hystrix 仪表板不适用于 Jersey 端点
我有一个带有使用 Jersey/JAX-RS 注释实现的公共端点的 Spring Boot 应用程序。Hystrix Dashboard 使用@EnableHystrixDashboard 启用,HystrixMetricsStreamServlet 在“/hystrix.stream”下注册(如示例中所示)。
访问 .../hystrix.stream 时,指标数据可用于 HystrixCommands,但起始仪表板页面“/hystrix”为空,给出HTTP 404 状态代码。
知道为什么泽西岛无法访问它吗?
如果同样使用 Spring WebMVC(不是 Jersey)实现,则仪表板页面可用。
我的pom.xml
- 不包括 spring-webmvc 并取决于 jersey
- 取决于 hystrix、事件流、仪表板、执行器
-
spring-boot - 在 Spring-Boot 应用程序中使用 application.yaml 配置 hystrix 命令属性
我有同样的问题,我试图覆盖 application.yaml 中的 hystrix 属性。当我运行应用程序并使用 localhost:port/app-context/hystrix.stream 检查属性时,我得到了所有默认值。
这是我的 application.yaml 中的 hystrix 配置
这是我点击 url 时看到的内容 - 浏览器中的 localhost:port/app-context/hystrix.stream [这与 hystrix 仪表板使用的流 url 相同] -
问题在于 hystrix 命令和折叠器属性,其中线程池属性设置正确。我的@configuration类中有以下注释-
有人尝试在他们的 Spring-Boot 应用程序中使用 application.yaml 配置 hystrix 命令属性,可以帮忙吗?
spring-cloud - 如何只取出eureka ill服务应用实例以避免hystrix断路?
我正在我的本地机器上试用spring-cloud-samples,我开发了一个简单的 REST 服务,支持 eureka 和 hystrix。
我有一个前端应用程序,它通过 hystrix 命令方法(@HystrixCommand 注释方法)连接到服务,其中包含对 Feign 客户端的引用。
假装客户端
Hystrix 包装器
我已经启动了 Spring MVC ProductService 的两个实例。第一个按预期交付基于给定标识符的产品信息。另一方面,第二个总是抛出 RuntimeException 以模拟系统依赖失败:
在前端,我使用 hystrix 客户端获取产品信息,并且 ProductService 实例将以循环方式(由于功能区)方式调用。由于 ProductService 实例之一总是传递异常,在前端连续多次调用后,ProductService 电路将打开(即使 ProductService 实例之一可以成功处理请求)。
如何仅从 eureka 中删除有问题的 ProductService 实例,并保持其正常运行,以避免 ProductService 的 hystrix 断路?我认为需要更改 ProductService 的健康指标资源“/health”的功能,以便对系统依赖失败执行额外检查。
我偶然发现使用spring-boot-starter-actuator可以执行自定义健康检查,但这似乎无助于从 eureka 中取出服务实例。
spring-cloud - 来自 hystrix 命令的日志错误
使用 @HystrixCommand 注释可以配置一个回退方法,以防方法失败。
为了记录(在中心类中)在使用 @HystrixCommand 注释的所有方法中引发的运行时异常,我应该怎么做?
我使用的是 spring-cloud-netflix 而不是 vanilla hystrix-javanica。我正在寻找我需要在我的应用程序中实现的类似于 org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler 类(用于 Spring 的 @Async)的东西。
在 hystrix-core 中,HystrixCommand 类有方法getFailedExecutionException()可以在后备方法中用于记录异常。有人可以指出我在使用 hystrix-javanica 时如何得到这个异常吗?
java - 如何通过 JMX 暴露 Hystrix 的断路器状态
我一直在寻找有关如何在 JMX 上公开 Hystrix 的断路器状态的教程。我刚刚发现了一个使用hystrix-servo-metrics-publisher
.
是否可以在 JMX 上公开断路器状态?