SpringCloud(三).Hystrix熔断器
一.服务器雪崩效应 在SpringCloud中存在多个微服务的调用情况,当服务的提供者不可用时,多次调用失败可能会导致服务调用者的不可用,逐渐扩展到整个系统不可用,这种情况称为服务器雪崩效应,下面图中展示服务的故障扩散,那么在SpringCloud中,解决这一效应就变得尤为重要,SpringCloud中通过Hystrix熔断器的熔断机制提高服务的容错能力。 二.熔断器的原理 Hystrix如同电力系统中断路器,在一定时期内检测到多次类似的错误,它将会强迫后续的多次调用快速失败,使应用不再访问远程服务,不再执行可能失败的错误访问,从而使得应用程序能够继续执行而不再等待错误的修正,或者等待长时间的超时产生,同时熔断器还具有诊断错误是否修正的能力,当错误修正时,服务会再次尝试调用。原理图如下图所示: 三.配置Hystrix 由于Hystrix只是用于服务调用端,所以引用上面spring-cloud-consumer项目进行改造,因为Feign中已经有了Hystrix的依赖,所以不需要添加新的配置 1.配置文件中添加 feign.hystrix.enabled = true 2.实现HelloRemote接口,重写方法 @Component public class HelloRemoteHystrix implements HelloRemote{ @Override public