Nginx如何实现读写限流的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx如何实现读写限流的方法相关的知识,希望对你有一定的参考价值。

针对nginx请求,单个IP,每秒50读次,写10次。

万能的Nginx,几行配置搞定

# 先定义好规则,需要写在server外面
limit_req_zone $binary_remote_addr $uri zone=api_write:20m rate=10r/s;  # 写
limit_req_zone $binary_remote_addr $uri zone=api_read:20m rate=50r/s;   # 读

# 把需要限速的接口应用上上面的规则
# 写10/秒
location = /api/v1/trade {
    limit_req zone=api_write burst=10;
    proxy_pass http://api_server;
}

# 查询50/秒
location /api/v1/query {
    limit_req zone=api_read burst=50;
    proxy_pass http://api_server;
}

重新加载Nginx配置文件   nginx -s reload

还是那句话,应用程序不需要关心,一句代码都不用动


以上是关于Nginx如何实现读写限流的方法的主要内容,如果未能解决你的问题,请参考以下文章

限流的几种方案

OpenResty实现对Nginx限流

Redis 限流的 3 种方式,还有谁不会!

dubbo是如何控制并发数和限流的?

两个简单的API限流实现方案

限流和常见的三种算法