接上文SpringCloud-Feign
问题描述

 
 为了解决上述情况,SpringCloud提供了Hystrix熔断器组件,如同保险丝。服务降级则不会直接返回错误,而是提供一个补救措施,正常响应给请求者。
1.服务降级
基于借阅管理服务,不开启用户和图书,即两者挂掉。
 导入Hystrix依赖(此项目已停止维护,SpringCloud依赖中不自带了)。
 
 启动类加上注解
 将用户和图书服务关闭,此时查阅信息不可用,则提供一个备选方案。也就是当服务出现异常时,返回我们的备选方案。
 
 重启borrow-service服务
 
 此时访问借阅信息接口即返回为空
 
2.服务熔断

 
 重启后不断访问http://localhost:8201/borrow/1,发现刚开始会正常执行方法,然后进行补救。随着点击次数增多,会只执行补救。过段时间再点击还会执行正常方法再补救。即熔断。
 然后开启用户服务和图书服务。此时服务恢复后就会正常执行两个服务方法,熔断机制就会关闭。

总结
 
3.openfeign实现降级
openfeign降级是针对访问某个controller方法失败后进行服务降级。此时将用户服务挂掉,图书服务不挂掉,执行借阅信息查看,则用户服务调用失败,此时给用户服务一个替代方案。
 

 在borrow-service配置文件中添加配置让支持熔断
 
 
将user-service关闭,重启borrow-service服务
 针对user-service的挂掉,出现补救措施。book-service的补救措施同理。
 
4.Hystrix监控
新建一个模块
 
 
 
 
 启动Hystrix管理页面服务,在进行监控的服务中添加依赖
 
 
 服务重启
 
可以正常访问
 
 启动监控服务
 
 可以查看管理页面
 在中级输入要监控的服务,比如借阅服务:http://localhost:8201/actuator/hystrix.stream,然后点击monitor stream,查看服务,如图。
 
 在访问接口后监控页面会变动。





![【群智能算法改进】一种改进的鹈鹕优化算法 IPOA算法[2]【Matlab代码#58】](https://img-blog.csdnimg.cn/2c62c13810eb4d428160d4708fa1f9c5.png#pic_center)












