nginx实现限流的方式有哪几种
通过查看nginx官方文档可以得知,有三种nginx限流方式,分别是: 1、limit_conn_zone 2…
通过查看nginx官方文档可以得知,有三种nginx限流方式,分别是:
1、limit_conn_zone
2、limit_req_zone
3、ngx_http_upstream_module
这里简单的介绍一下以上三种方式:
一、limit_conn_zone
nginx配置
http{
limit_conn_zone $binary_remote_addr zone=one:10m; server { …… limit_conn one 10; …… } } |
其中“limit_conn one 10”既可以放在server层对整个server有效,也可以放在location中只对单独的location有效。
该配置表明:客户端的并发连接数只能是10个。
二、limit_req_zone
nginx配置
http{
limit_req_zone $binary_remote_addr zone=req_one:10m rate=1r/s; server { …… limit_req zone=req_one burst=120; …… } } |
其中“limit_req zone=req_one burst=120”既可以放在server层对整个server有效,也可以放在location中只对单独的location有效。
rate=1r/s的意思是每个地址每秒只能请求一次,也就是说令牌桶burst=120一共有120块令牌,并且每秒钟只新增1块令牌,120块令牌发完后,多出来的请求就会返回503.。
三、ngx_http_upstream_module
nginx配置
upstream xxxx{
server 127.0.0.1:8080 max_conns=10;
server 127.0.0.1:8081 max_conns=10;
} |
以上就是nginx实现限流的方式有哪几种的详细内容,更多请关注网站的其它相关文章!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!