自动降级的实现:Hystrix
有时,我们需要根据服务的超时时间等对服务进行自动降级。这种场景下,Hystrix就可以发挥它的作用了。
Hystrix概述
Hystrix是什么
Hystrix是Netflix开源的一个容灾框架,解决当外部依赖故障时拖垮业务系统、甚至引起雪崩的问题。在分布式环境中,许多服务依赖关系中的一些不可避免地会失败。 通过Hystrix为应用/服务添加延迟容限和容错逻辑,则控制这些分布式服务之间的交互。 Hystrix通过隔离服务之间的访问、停止它们之间的级联故障、提供备用选项来实现这一点,所有这些都可以提高系统的整体弹性。
Hystrix可以做什么
Hystrix是为如下功能而设计的:
在依赖方延迟或失败情况下(通常是网络原因),为应用提供处理这些问题的能力
避免在复杂的分布式系统中出现雪崩效应(级联故障)
失败回退(Fallback)和优雅的服务降级机制
监控、报警和其他一些运营操作
更多详见:Hystrix 官方介绍
使用Hystrix实现自动降级
假如我们有EchoService,其中有个接口为echoTime,它会返回当前时间。