ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringCloud - Hystrix 服务熔断器

2020-12-12 12:32:26  阅读:185  来源: 互联网

标签:降级 服务 Hystrix SpringCloud 功能 监控 熔断器 退款


背景1. 什么是服务雪崩?

 

 

 

 

 

 

 

背景2. 什么是服务熔断?

 

1. 什么是Hystrix? 有什么用?

 

 

 

2. Hystrix服务熔断(在服务端做异常处理)

 

 

2.1 引入依赖

 

 

 

2.2 @HystrixCommand 引入服务熔断时的备选方法

依然会通过hystrixGet()返回一个“格式正确”的结果,只不过结果里的data是假的,是提示用户当前发生了错误。

 

 

 

2.3 在主函数开启对断路器的支持

circuit(电路) breaker -- 断路器

 

 

 

 

3. Hystrix服务降级(在客户端做异常处理)

 

服务降级的例子:淘宝在双11当晚的时候,当你需要“退款”,会提示你“退款服务暂时不可用...”。
就是因为当晚“购买”功能的流量太大,资源不够,因此需要把“退款”功能关掉,资源给“购买”功能。

关闭后,当请求流向“退款”功能,就会显示客户端(前端)设置好的默认消息“退款服务暂时不可用...”
这就是“服务降级” -- 原本应该提供真实的“退款服务”,如今变成了一条“默认消息”而已。

 

 

 

 

 

3.1 编写FallbackFactory

 

 

三个provider module会引用 api module:

 

 

 

 

3.2 开启服务降级

要在feign的项目里配置

 

 

3.3 服务降级效果

 

 

4. 服务熔断 vs 服务降级(重点)

服务降级的例子:淘宝在双11当晚的时候,当你需要“退款”,会提示你“退款服务暂时不可用...”。
就是因为当晚“购买”功能的流量太大,资源不够,因此需要把“退款”功能关掉,资源给“购买”功能。

关闭后,当请求流向“退款”功能,就会显示客户端(前端)设置好的默认消息“退款服务暂时不可用...”
这就是“服务降级” -- 原本应该提供真实的“退款服务”,如今变成了一条“默认消息”而已。

 

 

 

 

5. Hystrix DashBoard可视化监控面板 

一目了然的监控多个微服务的状态:绿色的表示安全,黄色的表示有超时现象,红色的表示失败

 

 

5.1 写一个dashboard监控页面:导入依赖

新建dashboard module,需要新导入:

  

5.2 写一个dashboard监控页面:application.yml配置端口号9001

 

 

5.3 写一个dashboard监控页面:通过注解开启功能

 

 

5.4 被监控的服务提供者,需增加一个servlet bean

service provider module需要保证有这个监控依赖:

 

 

5.5 使用Hystrix DashBoard

 

 

 

 

 

 

5.5.1 七个颜色的含义  

 

 

5.5.2 圆圈的含义

 

 

5.5.3 折线图的含义

 

 

标签:降级,服务,Hystrix,SpringCloud,功能,监控,熔断器,退款
来源: https://www.cnblogs.com/frankcui/p/14124264.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有