序
架构决定系统质量上限,代码决定系统质量下限,本节课串一下常见应对措施的框架,细节不太多,侧重对于技术本质有深入了解。
接口高可用整体框架
雪崩效应:请求量超过系统处理能力后导致系统性能螺旋快速下降
链式效应:某个故障引起后续一连串的故障
接口高可用架构本质上是“丢车保帅”的策略,业务或者用户体验部分有损。
限流
具体实现方式
限流算法
限流算法:固定&滑动 时间窗
限流算法:漏桶
应用场景:瞬间高并发流量
漏桶算法变种-写缓冲(Buffer)
限流算法:令牌桶
应用场景:
- 控制访问第三方服务的速度,防止把下游压垮
- 控制自己的处理速度,防止过载
排队
设计关键
- 如何设计异步处理流程
- 如何保证用户体验(前端、客户端交互)
排队的 具体实现方案示例:
1号店双十一秒杀排队
降级
应用场景:故障应急,通常将非核心业务降级,保住核心业务
降级架构实现
熔断
场景:服务自我保护,防止故障链式效应
熔断架构实现