常见限流方法

发布时间:2026/5/28 17:46:24

常见限流方法 作为高并发、高可用、高性能的应用绝大多数系统都会遇到业务高峰期的场景这时候限流就非常重要。限流即控制请求总量 / 速率防止压垮服务。一、常见限流方案1. 按维度限流最常用1) 全局限流限制整个接口 / 服务总 QPS、总并发连接超出直接拒绝。适用核心网关、整体入口。2) 单机限流单台实例独立控制流量简单易实现。缺点集群流量不均。3) 分布式限流集群统一控流借助 RedisLua、Redisson、Sentinel 集群规则实现保证全局阈值统一。2. 限流算法底层实现1) 计数器固定窗口原理用AtomicInteger做原子计数单位时间内计数超过阈值就拒绝。优点实现最简单、性能极高、内存占用小缺点存在临界突刺问题特指固定窗口计数器限流的典型缺陷在两个时间窗口交界的瞬间流量叠加突破预设阈值造成流量陡增、压垮服务。适用场景对精度要求不高的接口后台管理系统、内部接口简单防刷、简单限流不需要严格控制 QPS 的场景2) 滑动窗口原理把 1 秒切成多个小窗口如 10 个 100ms统计最近总请求数。作用平滑流量缓解临界突刺网关、Sentinel 默认常用优点平滑流量、无临界突刺、精度高缺点稍占内存。适用场景电商核心接口秒杀、高并发接口Sentinel 默认算法生产最常用需要严格控制 QPS的场景3) 漏桶算法原理请求像水一样进桶然后固定速率流出处理。作用匀速放行削峰为主不允许突发流量。优点绝对匀速强制削峰。缺点不支持突发流量。适用场景调用第三方 API对方不允许突发数据库限流必须匀速需要强制平滑流量的场景不允许流量突刺的稳定型服务4) 令牌桶算法最主流原理系统每秒放固定数量令牌请求必须拿到令牌才能执行。作用允许短暂突发流量互联网业务最主流网关、接口限流首选优点支持瞬时突发流量能瞬间把桶里令牌拿完、性能好、实现简单、弹性流量控制缺点极端情况下无法 100% 精准。适用场景互联网 90% 业务接口Spring Cloud Gateway 默认Guava RateLimiter秒杀、首页、商品列表、允许流量突增的场景需要弹性流量的高并发系统代码实现直接用 Guava 工具类5信号量并发控制原理控制同时执行的线程数量。作用限制并发数不是 QPS优点控制并发最有效、防止线程耗尽缺点不控制 QPS只控制并行适用场景限制并发连接数IO 密集型接口防止下游被大量线程打垮并发控制、防止线程爆炸3. 业务粒度限流IP 限流限制单 IP 请求频次防恶意刷接口、爬虫。用户 ID / 账号限流单个用户单位时间请求上限防薅羊毛、恶意攻击。接口级限流针对高危 / 慢接口单独控流保护核心链路。黑白名单白名单放行内部 / 可信 IP黑名单直接拦截恶意 IP。4. 限流处理策略直接拒绝返回 429 / 提示 “访问繁忙”普通接口。排队等待请求入队列排队适合非实时业务。降级兜底限流时返回缓存数据、默认页、静态兜底页。延迟重试客户端侧重试避让避免风暴。5. 中间件 / 框架组件网关层Spring Cloud Gateway、Kong、Nginx 限流。应用层Sentinel、Resilience4j、Guava RateLimiter。接入层Nginx 连接数、请求速率限流。二、生产环境限流方案核心原则从上到下层层拦截、外网严防、内网宽松、普通接口单机、核心接口全局1. 三层限流架构第一层Nginx 层最外层、防刷、抗攻击作用拦截恶意流量、IP 封禁、防 CC 攻击算法漏桶匀速算法维度单 IP 限流、单 IP 最大连接数场景所有外网接口统一拦截特点高性能、不耗后端资源、抗攻击最强第二层Gateway 网关层全局流量削峰作用控制整个集群总流量、粗粒度限流技术Spring Cloud Gateway RedisLua 令牌桶能力全局总 QPS 限制单用户、单 IP、单设备限流防恶意刷接口特点分布式、全局控制、允许突发流量第三层业务服务层Sentinel 精细防护作用接口级精准防护、熔断降级、异常自愈90% 普通接口Sentinel 单机限流默认10% 核心接口秒杀 / 下单 / 支付Redis 滑动窗口 / Sentinel 集群限流附带熔断、降级、热点限流、系统自适应保护三、生产限流策略规范1. 外网接口三层全部开启Nginx → Gateway → Sentinel2. 内网接口只开 Sentinel 单机限流内网信任流量无需网关和 Nginx 限流3. 读接口允许突发 → 令牌桶4. 写接口必须平稳 → 滑动窗口 / 漏桶5. 限流返回统一规范外网统一返回429 访问频繁请稍后重试内部返回结构化错误码方便排查四、落地组合方案线上通用搭配1. 入口层Nginx 网关 → IP 限流、总 QPS 限流、动静分离、负载均衡2. 应用层Sentinel → 接口限流、用户限流、熔断 降级联动3. 存储层读写分离、分库分表、冷热数据分流4. 突发洪峰MQ 异步分流 令牌桶限流组合削峰

相关新闻