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