| 依赖项 | 版本 |
|---|---|
| PIGX | 5.10 |
| 架构模式 | 微服务 |
PIGX 提供对微服务级别的 在线动态限流 能力,支持按 QPS、IP 维度、总次数等进行流量限制。
操作路径:pigx-ui → 路由管理 → 选择目标微服务
参数说明
| 配置项 | 说明 |
|---|---|
| IP 限制 | 限制每个客户端 IP 的访问频率(单位:次/秒,QPS) |
| 总数限制 | 限制整个微服务服务的总访问 QPS(单位:次/秒) |
PIGX 的微服务限流能力底层基于 Spring Cloud Gateway 的 RedisRateLimiter 组件 实现,采用经典的 令牌桶(Token Bucket)算法 进行请求调度与限流。
限流的核心数据(令牌数量、恢复速率等)全部存储在 Redis 中,使得所有网关节点共享同一限流状态,实现真正的 分布式限流。
429 Too Many Requests这种算法能同时兼容 平稳限流 与 一定程度的突发流量。
由于限流规则由网关动态加载,变更后立即同步到 Redis,全网关节点立刻可见,实现毫秒级生效。