高并发场景
在高并发架构中,Nginx 是第一道“流量闸门”,流量最先到达。

性能最高(C 级,事件驱动),失败成本最低(丢请求优于压垮后端)。
核心目标只有一句话:把系统不可承受的流量,挡在应用层之前。
Nginx如何限流
限流的核心目的是:控制进入系统的请求速度,防止瞬时峰值流量冲垮后端。
Nginx 主要采用 :漏桶算法 (ngx_http_limit_req_module )。
漏桶算法:请求像水滴流入桶,桶以固定速率“漏出”,超过速率就被延迟或直接拒绝。

漏桶算法: 强制请求以固定的速率被处理。
如果请求过快,超出桶容量的请求会被直接丢弃或排队。
http {
limit_req_zone $binary_remote_addr zone=ip_limit:10m rate=10r/s;
server {
location /api/ {
limit_req zone=ip_limit burst=20 nodelay;
}
}
}
limit_req_zone 定义桶(共享内存 + key + rate),limit_req 在具体 server/location 上应用规则。
rate=10r/s:基础出水速度为 10 QPS。
burst=20:允许瞬时多 20 个请求进入队列,超过则 503 或 429。
nodelay:超过基础速率的 burst 请求不排队,直接按限流结果处理。
mikechen睿哥
10年+一线大厂架构实战经验,操盘多个亿级大厂核心项目,就职于阿里、淘宝等一线大厂。