一.服务器雪崩效应
在SpringCloud中存在多个微服务的调用情况,当服务的提供者不可用时,多次调用失败可能会导致服务调用者的不可用,逐渐扩展到整个系统不可用,这种情况称为服务器雪崩效应,下面图中展示服务的故障扩散,那么在SpringCloud中,解决这一效应就变得尤为重要,SpringCloud中通过Hystrix熔断器的熔断机制提高服务的容错能力。
二.熔断器的原理
Hystrix如同电力系统中断路器,在一定时期内检测到多次类似的错误,它将会强迫后续的多次调用快速失败,使应用不再访问远程服务,不再执行可能失败的错误访问,从而使得应用程序能够继续执行而不再等待错误的修正,或者等待长时间的超时产生,同时熔断器还具有诊断错误是否修正的能力,当错误修正时,服务会再次尝试调用。原理图如下图所示:
三.配置Hystrix
由于Hystrix只是用于服务调用端,所以引用上面spring-cloud-consumer项目进行改造,因为Feign中已经有了Hystrix的依赖,所以不需要添加新的配置
1.配置文件中添加 <span class="py">feign.hystrix.enabled<span class="p">=<span class="s">true</span></span></span>
2.实现HelloRemote接口,重写方法
3.配置会掉函数fallback
4.测试 ,启动Eureka,producer,consumer,输入http://localhost:8092/hello111/zhangsan,显示 hello zhangsan,this is first name;关闭producer,刷新页面,显示 hello zhangsan,this messge send failed,熔断成功。
Original: https://www.cnblogs.com/hs5201314tx/p/11518041.html
Author: 浪淘沙V
Title: SpringCloud(三).Hystrix熔断器
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/579658/
转载文章受原作者版权保护。转载请注明原作者出处!