我对 Hystrix 主题和弹性服务的概念真的很陌生,我正在学习一些类(class),我想到了这个问题。
在 Hystrix 中,我需要为优雅降级定义回退方法,然后在电路断开时调用此方法。但我可以想象只用 try
和 catch
包装代码,当出现特定异常时(例如超时)调用 catch
子句中的回退方法.当调用的服务启动时,将调用正常代码。
当然,使用 Hystrix 我还可以监控它,但它还能给我带来什么?。我很确定我不理解整个概念。
最佳答案
正如您所说,它可以简单地包装在 try-catch
block 下那么为什么选择 Hystrix 或其他一些库?
我的经历:
- 已经
测试证明
库。 - 能够
跳过最初的预期调用和回退
。请注意,如果您将其包装在 try-catch 下,仍然会尝试连接和发送命令,但最终会由于依赖性降低而超时。在通话前了解此信息将使您能够跳过通话一段时间(根据配置),您可以节省这些资源 - 也使用
滑动时间窗
提供熔断 Metrics and Dashboarding
开箱即用,可帮助您查看系统和相关连接- 使用不同的
线程池
实现BulkHead
- 降低维护成本
- 健康检查能力。它提供了一个健康检查类,它带有健康监控 API 的插件
关于java - 与正常的异常处理相比,Hystrix 有哪些优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46283367/