熔断和降级都是系统自我保护的一种机制,但二者又有所不同,它们的区别主要体现在以下几点:
- 概念不同
- 触发条件不同
- 归属关系不同
1.概念不同
1.1 熔断概念
“熔断”一词早期来自股票市场。熔断(Circuit Breaker)也叫自动停盘机制,是指当股指波幅达到规定的熔断点时,交易所为控制风险采取的暂停交易措施。比如 2020 年 3 月 9 日,纽约股市开盘出现暴跌,随后跌幅达到 7% 上限,触发熔断机制,停止交易 15 分钟,恢复交易后跌幅有所减缓。
而熔断在程序中,表示“断开”的意思。如发生了某事件,程序为了整体的稳定性,所以暂时(断开)停止服务一段时间,以保证程序可用时再被使用。
如果没有熔断机制的话,会导致联机故障和服务雪崩等问题,如下图所示:
1.2 降级概念
降级(Degradation)降低级别的意思,它是指程序在出现问题时,仍能保证有限功能可用的一种机制。
比如电商交易系统在双 11 时,使用的人比较多,此时如果开放所有功能,可能会导致系统不可用,所以此时可以开启降级功能,优先保证支付功能可用,而其他非核心功能,如评论、物流、商品介绍等功能可以暂时关闭。
所以,从上