Openresty 进行限流的方法


1、使用Openresty进行限流, 使用漏桶原理进行设计

和路由系统设计类似。

LUA脚本去通过变量去redis取值,从redis中得到队列的大小、漏和桶的大小。

然后通过比较,队列大小与漏和桶进行比较,确定是否对此请求进行放行。

1、如果队列大小大于桶直接返回错误。

2、如果队列大于漏需要进行等待。

3、请求的等待时间取决于队列的大小和漏的大小。

例如队列是20,漏是5, 等待时间是 20 / 5 = 4s

这样就可以做到先进入的请求先完成。

 


免责声明!

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



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