限流的本质是控制单位时间内进入系统的请求数量。它的目标是保证系统在处理能力范围内运行,防止突发流量压垮服务。

核心算法

关于这些算法的详细实现与对比,请参考:


为什么需要限流?

  • 保护业务资源:防止因非预期的流量激增导致 CPU、内存或数据库连接池耗尽。
  • 防止恶意攻击:例如针对登录接口的暴力破解或针对搜索接口的频繁爬取。
  • 服务分级:为不同的租户或接口设置不同的限流策略。