【问题标题】:hystrix stream not respondinghystrix 流没有响应
【发布时间】:2017-05-08 03:22:36
【问题描述】:

我在 Spring Boot 应用程序中使用 spring-cloud-starter-hystrix:1.2.3.RELEASE。我有 1 个 HystrixCommand,我可以成功执行。 之后我打电话给

localhost:8080/hystrix.stream

但是这个请求永远加载并且没有响应。在 Google 上我找不到任何关于此的信息。

【问题讨论】:

标签: hystrix spring-cloud-netflix


【解决方案1】:

如果尚未执行任何命令并且因此没有要在流中发布的指标,则会发生这种情况。

“解决方法”是执行 Hystrix 命令。

这发生在 Hystrix 1.5.8 及更早版本中。昨天发布的 Hystrix 1.5.9 中的行为发生了变化。如果没有要发布的指标,它现在将发布 ping 消息。

进行此更改是为了修复在没有要发布的指标时流无法检测到已关闭连接的错误。请参阅Hystrix bug 1430 了解更多信息。

【讨论】:

  • 修复对我不起作用。更新到 1.5.9,同样的问题
  • @StefanoL 你确定你现在使用的是 1.5.9。 Spring 引导依赖项的工作方式有时会将您固定在特定版本上。也就是说,我还没有时间将 1.5.9 应用到我们的应用程序中,所以我的回答目前纯粹基于修复 bug 1430 的理论。我可能明天就能证实这一点。跨度>
  • 我添加了某些 gradle 依赖项,例如 'hystrix-metrics-event-stream'、'1.5.9' 期望覆盖 Spring Boots 1.5.8。调试 HystrixSampleSseServlet.java 确认我使用了新的依赖项-> 159 中的 while 循环被扩展了一点。顺便说一句,使用 DummyCommand 的解决方法也无济于事。
  • @StefanoL 好的,我明天再仔细看看。
  • @StefanoL 我刚刚将我们的依赖项升级到 1.5.9,它确实按预期在流中发布了 ping。
【解决方案2】:

确保您已将 @EnableHystrixDashboard 注释添加到仪表板应用程序中。然后转到http://{dashboard-application:port}/hystrix.stream。在此页面上,您将被要求输入带有 @EnableCircuitBreaker 注释的 Hystrix 应用程序的 URL,并且您要监视该流。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 2016-01-29
    • 2019-05-25
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 2018-08-08
    相关资源
    最近更新 更多