Hystrix实现服务熔断
为了避免分布式系统中出现联动故障,Hystrix判断调用接口出现了故障,会执行快速失败的逻辑(即fallback回退的逻辑)。
我们的服务调用端使用了Feign,Feign依赖了Hystrix,所以无需添加额外的依赖。
1、实现快速失败的处理类
基于前面的HelloRemote接口,为了实现熔断,需实现一个快速失败的处理类。此类实现了HelloRemote接口并重写了hello方法。
2、修改HelloRemote接口,添加fallback
3、修改application.properties,启用Hystrix
4、启动注册中心、服务提供程序、服务调用程序,实现服务调用。
5、关闭服务提供程序,实现服务调用。
Mark:
实际应用时需关注超时时间、是否重试、重试次数的设置。如果重试,须对应服务具备幂等性。