SpringCloud-Hystrix 服务降级与熔断

接上文SpringCloud-Feign

问题描述


为了解决上述情况,SpringCloud提供了Hystrix熔断器组件,如同保险丝。服务降级则不会直接返回错误,而是提供一个补救措施,正常响应给请求者。

1.服务降级

基于借阅管理服务,不开启用户和图书,即两者挂掉。

导入Hystrix依赖(此项目已停止维护,SpringCloud依赖中不自带了)。

启动类加上注解

将用户和图书服务关闭,此时查阅信息不可用,则提供一个备选方案。也就是当服务出现异常时,返回我们的备选方案。

重启borrow-service服务

此时访问借阅信息接口即返回为空

2.服务熔断


重启后不断访问http://localhost:8201/borrow/1,发现刚开始会正常执行方法,然后进行补救。随着点击次数增多,会只执行补救。过段时间再点击还会执行正常方法再补救。即熔断。![在这里插入图片描述](https://file.jishuzhan.net/article/1699985616877391873/95040db0b7134e23891946b0b4e1d09a.png)

然后开启用户服务和图书服务。此时服务恢复后就会正常执行两个服务方法,熔断机制就会关闭。

总结

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,查看服务,如图。

在访问接口后监控页面会变动。

**需要源文件可关注并在下方扣1,会私发。

相关推荐
d***29243 小时前
【spring】Spring事件监听器ApplicationListener的使用与源码分析
java·后端·spring
v***5653 小时前
Spring Cloud Gateway 整合Spring Security
java·后端·spring
f***a3466 小时前
开源模型应用落地-工具使用篇-Spring AI-高阶用法(九)
人工智能·spring·开源
摇滚侠8 小时前
2025最新 SpringCloud 教程,编写微服务 API,笔记08
笔记·spring cloud·微服务
大云计算机毕设10 小时前
【2026计算机毕设选题】计算机毕设全新推荐项目选题指南(70+精选热门方向)
spring·数据分析·毕业设计·课程设计·毕设
空空kkk10 小时前
SpringMVC——拦截器
java·数据库·spring·拦截器
梵得儿SHI11 小时前
(第七篇)Spring AI 基础入门总结:四层技术栈全景图 + 三大坑根治方案 + RAG 进阶预告
java·人工智能·spring·springai的四大核心能力·向量维度·prompt模板化·向量存储检索
q***428211 小时前
SpringCloud-持久层框架MyBatis Plus的使用与原理详解
spring·spring cloud·mybatis
KotlinKUG贵州12 小时前
SpringGateway-MVC对SSE转发出现阻塞响应问题的分析和解决
spring·spring cloud·kotlin
l***775212 小时前
总结:Spring Boot 之spring.factories
java·spring boot·spring