使用Nginx实现限流


1.http限流配置

#限制请求(请求单个IP,每秒读50次,写10次)
limit_req_zone $uri zone=api_read:20m rate=50r/s; # 读
limit_req_zone $uri zone=api_write:20m rate=10r/s; # 写
#按ip配置一个连接 zone
limit_conn_zone $binary_remote_addr zone=perip_conn:10m;
#按server配置一个连接 zone
limit_conn_zone $server_name zone=perserver_conn:100m;

参数补充说明:
$binary_remote_addr 是限制同一客户端ip地址;
$server_name 是限制同一server最大并发数;
limit_conn 为限制并发连接数;
limit_rate 为限制下载速度;

 

2.server限流配置

#请求限流排队通过 burst默认是0
limit_req zone=api_read burst=100;

#连接数限制,每个IP并发请求为50
limit_conn perip_conn 50;

#服务所限制的连接数(即限制了该server并发连接数量)
limit_conn perserver_conn 200;

#连接限速 (暂时不限制)
#limit_rate 100k;

 

3.nginx 日志采集工具
Filebeat
Gitchat 有相关的文章介绍


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM