【系统架构设计】限流与过载保护:保命的最后一道防线
健康的下游也能被合法流量打垮。本文从一次缓存击穿引发的过载场景出发,梳理令牌桶、漏桶、固定/滑动窗口限流算法的公式与权衡,拆解客户端到网关到服务端的多层限流部署、自适应过载控制的分歧,以及分布式限流一致性、重试放大等失败模式。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 4 篇文章 · 返回首页
健康的下游也能被合法流量打垮。本文从一次缓存击穿引发的过载场景出发,梳理令牌桶、漏桶、固定/滑动窗口限流算法的公式与权衡,拆解客户端到网关到服务端的多层限流部署、自适应过载控制的分歧,以及分布式限流一致性、重试放大等失败模式。
从 WindowAssigner 三类(Tumbling、Sliding、Session)出发,讲清窗口 state 如何随 key 与窗口实例增长,Trigger 与 Evictor 如何改变 firing 与清理节奏,GlobalWindow 自定义 Trigger 的边界,并与批式 GROUP BY 时间分桶对照;附三种窗口 state 观测的可复现步骤。
深入剖析 TCP 滑动窗口的工程实现——发送窗口、接收窗口与拥塞窗口的三角关系,窗口缩放的必要性,零窗口与 Silly Window Syndrome 的防治,以及 Wireshark 中的窗口分析方法与缓冲区调优实战。
滑动窗口不只是一道 LeetCode 题型,它是网络协议、流控、限流的通用模式。