这里的代码只是 new 了一个 limiter,并没有调用它的 incoming 方法。你加上再试试看。
限流key(假如是IP或租户ID),resty.limit.traffic或resty.limit.req能实现按此key进行一个固定的阀值限流。
但如果keya想限制每秒100次,而keyb限制每秒200次,keyc每秒300次。
如何实现呢?
以下的代码并不能达到预期效果。
local headers = ngx.req.get_headers()
local key= headers["myKey"]
local qps=2
local burst=10
if key=="keyA" then
qps=100
elseif key="keyB" then
qps=200 ...
end
local lim2, err = limit_req.new("limit_req_store", qps, burst)
assert(lim2, err)
--