概述NGINX的limit_req为入口层提供令牌桶限流。`burst` 决定突发队列大小;不使用 `nodelay` 可让超额请求排队等待,可在短期峰值下保护后端。关键实践与参数速率:`rate=20r/s` 基线,按业务调整突发队列:`burst=100` 应对瞬时峰值等待策略:不配置 `nodelay` 则进入等待队列;配置 `nodelay` 直接判 429维度:按IP或客户端Key限流,叠加全局阈值示例/配置/实现limit_req_zone $binary_remote_addr zone=ip:10m rate=20r/s; limit_conn_zone $binary_remote_addr zone=conn:10m; server { location /api/ { limit_req zone=ip burst=100; # 无nodelay,允许等待 limit_conn conn 100; proxy_pass http://api; } } 验证峰值压力:在100–200并发下,观察等待队列吸收突发;超队列后返回429后端保护:后端QPS稳定且无显著排队时延增长体验权衡:记录平均等待时间与拒绝比例,调整 `burst` 与 `rate`注意事项过大 `burst` 可能导致入口排队过长,应依据SLA调整与应用层限流协同,防止绕过与雪崩按场景选择维度(IP/Key/路径)并设置白名单采集限流事件用于审计与告警

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
1.683923s