Skip to content

面试速答(先看这里)

**一句话结论:**限流是一种控制流量的技术,用于保护系统免受突发流量或恶意流量的影响。

60秒标准回答:

限流是一种控制流量的技术,用于保护系统免受突发流量或恶意流量的影响。其基本原理是通过控制请求的速率或数量,确保系统在可承受的范围内运行

常见的限流算法有

**答题顺序:**结论 → 原理/机制 → 关键流程 → 场景与取舍 → 易错点

**记忆锚点:**最小延迟算法 → 令牌环算法 → 牌桶之间形成环形结构 → 令牌桶算法(常用) → 计数器算法(简单) → 漏桶算法(常用)

追问准备:

  • 围绕「最小延迟算法」:底层原理是什么?使用时有哪些边界和常见坑?
  • 围绕「令牌环算法」:底层原理是什么?使用时有哪些边界和常见坑?
  • 围绕「牌桶之间形成环形结构」:底层原理是什么?使用时有哪些边界和常见坑?
  • 如果线上出现异常,你会如何定位、验证并规避?

典型回答 ​

限流是一种控制流量的技术,用于保护系统免受突发流量或恶意流量的影响。其基本原理是通过控制请求的速率或数量,确保系统在可承受的范围内运行。

常见的限流算法有:

  1. 漏桶算法(常用):系统请求先进入漏桶,再从漏桶中逐一取出请求执行,控制漏桶的流量。
  2. 令牌桶算法(常用):系统请求会得到一个令牌,从令牌桶中取出一个令牌执行,控制令牌桶中令牌的数量。

📄 ✅漏桶和令牌桶有啥区别?

打开文档:✅漏桶和令牌桶有啥区别?

  1. 计数器算法(简单):系统请求被计数,通过比较当前请求数与限流阈值来判断是否限流。
  2. 可以阻塞算法:当系统达到限流阈值时,不再接受新请求,等到限流阈值降下来再接受请求。
  3. 令牌环算法:与令牌桶算法类似,但是在多个令牌桶之间形成环形结构,以便在不同的请求处理速率之间进行平衡。
  4. 最小延迟算法:基于预测每个请求的处理时间,并在处理完请求后进行延迟,以控制请求的速率。
  5. 滑动窗口(常用):基于一个固定大小的时间窗口,允许在该时间窗口内的请求数不超过设定的阈值。这个时间窗口随着时间的推移不断滑动,以适应不同时间段内的请求流量。

📄 ✅什么是滑动窗口限流?

打开文档:✅什么是滑动窗口限流?