---
title: API 网关限流与熔断实践(令牌桶、漏桶、滑动窗口与阈值)
keywords:
- 限流
- 令牌桶
- 漏桶
- 滑动窗口
- 熔断
description: 结合令牌桶、漏桶与滑动窗口限流算法,给出网关层的熔断阈值设计与验证方法,保障系统稳定性与峰值可控。
date: 2025-11-26
categories:
- 文章资讯
- 技术教程
---
API 网关限流与熔断实践(令牌桶、漏桶、滑动窗口与阈值)
概述
限流与熔断是保护后端稳定性的关键。本文总结主流算法与阈值设计,并提供网关实现与验证手段。
关键实践与参数
- 令牌桶(Token Bucket):
- 速率
r(令牌/秒)与突发容量b(桶大小)决定 QPS 与瞬时突发。 - 漏桶(Leaky Bucket):
- 恒定出水速率,平滑突发;适合严格平滑流量场景。
- 滑动窗口(Sliding Window):
- 按窗口统计请求数,常用于分布式限流计数。
- 熔断阈值:
- 基于错误率(如 50x 比例)与平均延迟设定触发条件,含半开探测。
实现示例(伪配置)
rate_limit:
token_bucket:
rate: 1000 # 每秒令牌生成
burst: 3000 # 最多瞬时突发
sliding_window:
window_ms: 1000
max_requests: 1200
circuit_breaker:
error_ratio_threshold: 0.2
latency_ms_threshold: 800
reset_timeout_ms: 30000
验证方法
- 压测观察 QPS、尾延迟与拒绝比例;验证半开探测恢复行为。
- 日志与指标上报:限流命中率、熔断触发次数、降级响应占比。
- 分布式计数一致性校验(滑动窗口在多副本下的精度)。
注意事项
- 限流与重试需联动;避免同步重试导致雪崩。
- 区分用户级/接口级与全局级限流;优先保护关键后端。
- 熔断半开探测需渐进放量,防止抖动。

发表评论 取消回复