java - 与正常的异常处理相比,Hystrix 有哪些优势?

标签 java spring microservices spring-cloud hystrix

我对 Hystrix 主题和弹性服务的概念真的很陌生,我正在学习一些类(class),我想到了这个问题。

在 Hystrix 中,我需要为优雅降级定义回退方法,然后在电路断开时调用此方法。但我可以想象只用 trycatch 包装代码,当出现特定异常时(例如超时)调用 catch 子句中的回退方法.当调用的服务启动时,将调用正常代码。

当然,使用 Hystrix 我还可以监控它,但它还能给我带来什么?。我很确定我不理解整个概念。

最佳答案

正如您所说,它可以简单地包装在 try-catch block 下那么为什么选择 Hystrix 或其他一些库? 我的经历:

  • 已经测试证明库。
  • 能够跳过最初的预期调用和回退。请注意,如果您将其包装在 try-catch 下,仍然会尝试连接和发送命令,但最终会由于依赖性降低而超时。在通话前了解此信息将使您能够跳过通话一段时间(根据配置),您可以节省这些资源
  • 也使用滑动时间窗提供熔断
  • Metrics and Dashboarding 开箱即用,可帮助您查看系统和相关连接
  • 使用不同的线程池实现BulkHead
  • 降低维护成本
  • 健康检查能力。它提供了一个健康检查类,它带有健康监控 API 的插件

关于java - 与正常的异常处理相比,Hystrix 有哪些优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46283367/

相关文章:

java - 如何用Java中的Scanner类解决行尾读取问题

java - 图顶点和边作为邻居的 BFS

java - 线程 "main"java.lang.RuntimeException : No OpenGL context found 中的异常

spring - Eureka客户端: com.netflix.discovery.shared.transport.TransportException:无法在任何已知服务器上执行请求

docker - Eureka已注册了奇怪的IP地址,并且请求无法与zuul一起使用

java - 通过 J2EE 应用程序压缩运行应用程序服务器的远程计算机中的文件夹

java - 用于带删除的 SFTP 出站的 Spring Integration DSL

java - 一场 war 中的多个 CDI 配置文件(开发、测试、质量保证、生产)?

java - 无法在我的 Eclipse 中安装任何类型的 Spring 工具

java - 禁用本地 consul 配置