Openresty 進行限流的方法


1、使用Openresty進行限流, 使用漏桶原理進行設計

和路由系統設計類似。

LUA腳本去通過變量去redis取值,從redis中得到隊列的大小、漏和桶的大小。

然后通過比較,隊列大小與漏和桶進行比較,確定是否對此請求進行放行。

1、如果隊列大小大於桶直接返回錯誤。

2、如果隊列大於漏需要進行等待。

3、請求的等待時間取決於隊列的大小和漏的大小。

例如隊列是20,漏是5, 等待時間是 20 / 5 = 4s

這樣就可以做到先進入的請求先完成。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM