目录
一、熔断
-
什么是熔断
当链路中的某个微服务不可用或者响应时间太长时,会进行降级服务,进而熔断此微服务的调用,快速返回错误响应信息。当此微服务调用响应正常后,恢复链路调用。
-
熔断的作用
保护链路,防止雪崩的发生
-
如何熔断
spring cloud 中使用Hystrix进行实现,Hystrix 会监控微服务调用情况, 当失败调用达到一定阈值(缺省5秒内20次错误调用),会启动熔断机制
二、降级
- 降级本质
解决资源不足和访问量增加的矛盾
在有限资源的情况下,为保障重要服务抗住大量的请求,需要“舍弃”一些不重要的服务,放弃一些功能,进而保障整个服务平稳运行
- 如何降级
一般做法,在配置中心配置一个开关,当需要降级时,更改配置即可。
三、熔断与降级对比
降级 | 熔断 | ||
---|---|---|---|
相同点 | 提高服务可用性,可靠性 | 提高服务可用性,可靠性 | |
不同点 | 触发方式 | 人工干预+配置中心 | 基于策略自动触发 |
触发原因 | 从整体负荷考虑 | 链路节点故障引起 | |
管理目标的层次 | 对业务有层级之分,从最外围服务开始 | 框架级处理 |
参考文章:
https://www.jianshu.com/p/cda7c0366089
https://zhuanlan.zhihu.com/p/61363959
https://www.cnblogs.com/rjzheng/p/10340176.html
https://my.oschina.net/u/4544836/blog/4474352