如何设计一个分布式限流系统?
如何设计一个分布式限流系统?
需求分析
功能需求
技术需求
初始解
演进方案
如何在千万QPS的前提下保证系统可用性?
如何降低P99延迟?
如何降低系统成本?
系统的未来
如何设计一个分布式限流系统?
Hardcore-Onepage
需求分析
初始解
先get一个key,获得计数值,如果大于阈值则判断为false,触发限流。
在incr当前key,对其进行自增,并给予一个1s的过期时间。
redis key = 业务key+(秒级时间戳 ➗ X)取整
演进方案
如何在千万QPS的前提下保证系统可用性?
核心链路上出错的可能性最高的点
系统的故障瓶颈在于控制面,因此控制面的设计是可靠性的关键。
如何统计限流状态, 才能尽可能的保证限流有效性?
限流算法科普
固定窗口-
计数器算法