nginx里有limit_conn和limit_req模块.laravel框架里有限流中间件throttle.还可以自己写算法实现.其它各种限流方式这些有什么区别吗?怎样选用呢?
2 回答

慕后森
TA贡献1802条经验 获得超5个赞
越前沿的方案,越有效,可以最大限度的减少服务器开支,但是缺点就是距离业务太远,以至于无法由业务来进行调配。比如,通过Nginx进行限制,那么就会在Nginx层对流量进行限制,不会把请求交给fpm,节约了fpm资源。而通过php代码去限制,这时候请求已经是交给fpm处理了,也更加贴近任务,可由业务去自由调配限度等,但是这里还是浪费了资源。当然,大部分情况下这种限流的主要目的都是为数据库减轻压力。

侃侃无极
TA贡献2051条经验 获得超10个赞
nginx是协议级别的限流,优点是配置简单,不需要编码,效果最好,缺点是无法根据业务来处理,但是进入到PHP代码级别后可以基于业务限流,优点是可定制型强,缺点么,压力已经到PHP上面了。生产环境下一般用nginx对每个IP每分钟或者每秒做个统一限流,防止恶意请求,此外,部分接口可以使用PHP来针对性限流
添加回答
举报
0/150
提交
取消