有人能给我解释一下Hystrix是什么吗?我在Google上搜索了,但还是不太清楚。
- Hystrix是什么?
- 为什么要使用Hystrix?
请提供一个Hystrix使用的例子。
什么是Hystrix?
Hystrix是由Netflix开发的库,是通过Spring Cloud Netflix项目的一部分。Hystrix是一个容错库,用作服务层中不同级别故障的策略。
为什么要使用Hystrix?
Hystrix可用于应用程序依赖远程服务的情况。如果一个或多个远程服务宕机,您可以在应用程序中使用断路器来处理这种情况。
简单来说:如何让一个服务继续运行——当它调用的外部服务失败时?
Hystrix会监视与相关服务通信的方法是否失败。如果有这样的失败方法,它将打开电路,这意味着它将调用一个回退方法。如果服务恢复正常,它将关闭电路,应用程序将再次按预期工作。
查看此优秀文章以获取更多背景信息。
Hystrix是一个用于隔离对远程系统、服务和第三方库的访问点、防止级联故障并在必然发生故障的复杂分布式系统中实现弹性的延迟和容错库。
在分布式环境中,不可避免地会出现某些服务依赖失败的情况。Hystrix是一个库,通过添加延迟容忍度和容错逻辑来帮助您控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点、停止它们之间的级联故障以及提供后备选项来实现这一点,从而提高系统的整体弹性。
1)延迟和容错 停止级联故障。后备和优雅降级。快速失败和快速恢复。线程和信号量隔离以及断路器。
2)实时操作 实时监控和配置更改。当服务和属性更改时,观察更改立即生效并在整个群集中传播。在几秒钟内收到警报、做出决策、影响变化并查看结果。
3)并发性 并行执行。并发感知的请求缓存。通过请求合并实现自动批处理。
Hystrix的一些主要实现用于:
断路器
本指南介绍了如何使用Netflix Hystrix容错库将断路器应用于可能失败的方法调用。
Hystrix仪表板
Hystrix仪表板允许您实时监控Hystrix指标。
有关Hystrix的进一步信息,请访问https://github.com/Netflix/Hystrix/wiki/How-To-Use
有关Hystrix仪表板的更多信息,请访问https://github.com/Netflix/Hystrix/wiki/Dashboard