通過openresty進行根據介面名稱進行介面限流

2021-10-10 16:25:20 字數 1019 閱讀 3352

411  2020-07-01 10:46:03 curl -o openresty-openssl111-1.1.1d-1.x86_64.rpm 

413  2020-07-01 10:46:52 curl -o openresty-resty-1.15.8.3-1.x86_64.rpm 

415  2020-07-01 10:48:05 curl -o openresty-1.15.8.3-1.x86_64.rpm  

417  2020-07-01 10:48:53 curl -o openresty-pcre-8.44-1.x86_64.rpm 

418  2020-07-01 10:49:27 curl -o openresty-zlib-1.2.11-3.x86_64.rpm 

422  2020-07-01 10:51:00 curl -o openresty-openssl-1.1.0l-1.x86_64.rpm

主要部分:

local limit = ngx.shared.limit

local req

local total

if limit then

req = limit:get(key)   //獲得code值為$key的介面訪問量

endif req then

if req >= count then  #如果訪問量大於配置的count,告警

ngx.say("")

return

endlimit:incr(key, 1)  #未超配置的訪問量次數 則訪問量加一

else

limit:set(key, 1, seconds)

end

location /test 

}

nginx -s stop  #停止nginx

nginx -c .\conf\rate.conf    #啟動nginx同時指定配置檔案

根據某個浮動進行求值

例如 加班1小時20分算加班乙個半小時,加班1小時50分算加班2個小時,即上線浮動的時間為10分鐘,否則捨棄,如加班1小時15鐘算加班1個小時 private float calovertime date be,date bd int i0hour math.round fhour 取四捨五入 do...

根據引用量進行排序

有乙個下拉列表,它的顯示是根據被引用次數多少來進行排序。也就是說,下拉列表的某一項值,被選擇引用次數越多,那它就排在前面。這樣子,資料庫中將有兩張表,一張是a,就是下拉列表的資料來源資料。另乙個張表b,就是補引用的表,它有乙個外來鍵,就是a表的主鍵。表a 表b 一般情況之下,你的下拉列表的資料來源,...

根據引用量進行排序

有乙個下拉列表,它的顯示是根據被引用次數多少來進行排序。也就是說,下拉列表的某一項值,被選擇引用次數越多,那它就排在前面。這樣子,資料庫中將有兩張表,一張是a,就是下拉列表的資料來源資料。另乙個張表b,就是補引用的表,它有乙個外來鍵,就是a表的主鍵。表a 表b 一般情況之下,你的下拉列表的資料來源,...