概述
高可用三剑客 限流 , 熔断 和 削峰 仅以两张图来初步形容一下 熔断 适用的场景:
- 雪崩
![v2-58c6d9eccf77238de8efb70bc97275a8_b.gif](https://ss.csdn.net/p?https://pic1.zhimg.com/v2-58c6d9eccf77238de8efb70bc97275a8_b.gif)
- 股灾
![v2-f7e67f6088964edbffcd1e26116ccb8b_b.jpg](https://ss.csdn.net/p?https://pic4.zhimg.com/v2-f7e67f6088964edbffcd1e26116ccb8b_b.jpg)
什么是熔断
来自 wiki 的 熔断机制 描述:
熔断机制(英语:Circuit breaker / Trading curb)指的是在股票市场的交易时间中,
当价格波动的幅度达到某一个限定的目标(熔断点)时,对其暂停交易一段时间的机制。
此机制如同保险丝在电流过大时候熔断,故而得名。
熔断机制推出的目的是为了防范系统性风险,给市场更多的冷静时间,避免恐慌情绪蔓延导致市场波动,
从而防止大规模股价下跌现象的发生。
然而熔断机制也因切断了资金的流通性,同样会造成市场情绪加大,并令市场风险在熔断期结束后继续扩大。
转换成 互联网语言 可以这么理解:
- 当 异常 幅度达到设定的 阀值 后触发的系统保护机制
- 部分能力关闭 大部分能力 正常
- 这种机制是有损的,但是 利大于端
熔断机制的特点,在关闭一段时间后,会自动触发恢复检测,如果发现服务正常,则将服务逐渐开放。
1、雪崩效应
在分布式服务部署的架构下,整体链路可以参考为:
![v2-fc638391616c59da0601c924382053ac_b.jpg](https://ss.csdn.net/p?https://pic1.zhimg.com/v2-fc638391616c59da0601c924382053ac_b.jpg)
如果在大促期间, DB_2 由于 机器负载过高 , sql执行缓慢 , 链接数打满 或 网络抖动 等情况,导致 DB_2 不可用,那么整体链路的影响就会变成: