二十篇的路线
回看这个系列的骨架:第 1 篇一次爆单雪崩提出问题;第 2-5 篇单机限流四件套——固定窗口、滑动窗口、漏桶、令牌桶,加上注解落地;第 6-8 篇走向分布式——Redis 加 Lua、网关限流、多级防线;第 9 篇一张表定算法选型;第 10-11 篇转向「出去的调用」——熔断三态与判定标准;第 12 篇 Sentinel 把手艺变配置;第 13-14 篇降级与舱壁隔离;第 15 篇超时预算;第 16 篇重试风暴;第 17 篇自适应保护;第 18 篇全链路压测;第 19 篇十个事故复盘。现在把所有零件拼成一张图。
全景图:两条线,一张表
稳定性体系沿两条线展开:流量线管「进来的太多」——网关限流打头阵、应用限流守主口径、热点保护盯单点、队列削峰填谷;故障线管「出去的出事」——超时预算封顶等待、舱壁隔离限制半径、熔断三态快速止损、降级预案保住核心。两条线最后汇合在用户面前:有损,但可用。
| 机制 | 管哪条线 | 一句话定位 |
|---|---|---|
| 限流 | 流量线 | 挡住超出容量的流量,舍卒保车 |
| 熔断 | 故障线 | 停止叩门病了的下游,快速失败 |
| 降级 | 用户侧 | 用有损答案替代正常答案 |
| 隔离 | 故障线 | 把故障的爆炸半径切小 |
| 超时 | 全链路 | 给每一次等待封顶 |
| 重试纪律 | 故障线 | 退避、抖动、预算,别让好心变成补刀 |
| 自适应 | 阈值层 | 让系统按实测容量自己拿主意 |
| 压测与复盘 | 事前事后 | 洪水来前演一遍,事故过后记一笔 |
三条心法
纵深防御——没有哪个单点机制能独自扛住所有故障:限流挡不住代码 bug,熔断救不了慢 SQL,层层设防、层层有损,才扛得住随机组合的灾难。
容量是前提——所有阈值的前提是知道容量。没做过全链路压测就配阈值,等于没量体温就开药。
演练是试金石——没演练过的预案等于没有预案;事故集锦第十例之所以毫发无损,靠的不是聪明,是肌肉记忆。
收官
至此,三个系列收官:分布式事务管「数据不出错」,分布式锁与一致性协议管「并发不打架」,限流与熔断管「系统不倒下」——三者合起来,是分布式系统可靠性的三条底座。技术会迭代,Sentinel 会老、新框架会来,但雪崩的物理规律不变、三态模型的哲学不变、纵深防御的兵法不变。愿你系统永稳,告警常静——下一系列见。
评论 (0)