信息技术大学
高可用三板斧
系统设计与场景题 · 第 3 章 中间件与稳定性
按 空格/→ 演示下一步
全部页面点击任意一页,跳回舞台从这页播放
信息技术大学
高可用三板斧
系统设计与场景题 · 第 3 章 中间件与稳定性
限流四算法(计数/漏桶/令
四把闸刀:计数最糙,漏桶恒速,令牌桶容突发,滑动窗口最平滑。
固定窗口计数
窗口内计数超限即拒,临界处有突刺
漏桶
恒定速率放行,强平滑不容突发
令牌桶
匀速攒令牌,存量可放行小突发
滑动窗口
细粒度滑窗统计,消除临界突刺
熔断与降级
依赖挂了别陪葬:错误率超阈熔断快速失败,降级开关换保底体验。
熔断三态
关闭、打开、半开试探,恢复自动闭合
降级
非核心功能关停,返回兜底数据
隔离
线程池或信号量隔离,故障不串舱
超时与重试风暴
超时要分层预算,重试要加抖动与上限:盲目重试等于 DDoS 自己。
超时预算
全链路分配预算,上游不小于下游之和
重试三限
限次数、退避加抖动、只重试幂等接口
风暴
故障期重试放大流量,熔断必须先于重试
灰度发布
新版本先放 1% 流量:按用户、比例、地域灰度,出问题只炸一小片。
灰度维度
按比例、用户标签、地域精细分流
金丝雀
小流量观察核心指标,逐步放量
回滚
预案先行,回滚与发布同样自动化
本节要点
- ✓限流四算法:令牌桶容突发
- ✓熔断三态,降级保命
- ✓重试三限,防风暴自伤
- ✓灰度:小流量试探,随时回滚
延伸主题:给网关配一次限流演练一次熔断降级
课后思考
先自己回答,再展开参考答案——能讲出来才算真懂。
1令牌桶为什么比漏桶更常用于 API 网关?
参考答案漏桶强制恒速,突发流量被硬削,体验断崖;令牌桶平时攒令牌,允许短时突发、长期均值受限——更贴合「正常用户偶尔手快」的真实流量形态。
2重试为什么可能把小故障放大成事故?
参考答案依赖变慢时,重试流量叠加正常流量形成倍增效应,把半死的服务彻底压死。所以重试要限次数、退避抖动,且与熔断联动——熔断不开的重试是自毁。
3灰度发布的本质是什么?
参考答案把发布风险从全量一次性爆炸改成可控的小步试错:以最小代价暴露问题、最快速度回滚。前提假设是「新版本一定可能有问题」,预案先于发布。