You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
I'm experiencing limitations when setting up daily rate limits with Spring Gateway's Redis Rate Limiter. According to the documentation:
Rate limits below 1 request/s are accomplished by setting replenishRate to the wanted number of requests, requestedTokens to the timespan in seconds, and burstCapacity to the product of replenishRate and requestedTokens.
For instance, replenishRate=1, requestedTokens=86400 (for a full day in seconds), and burstCapacity=86400 would theoretically enable a 1 request/day rate limit.
However, in the current implementation, burstCapacity is limited to the maximum int value. This means that for a daily rate limit, we can't specify more than 2147483647 / 86400 ≈ 25,000 requests. This constraint makes it challenging to set higher daily limits, which are often required for applications with high usage.
Describe the solution you'd like
I would like burstCapacity to be stored as a long instead of an int. Since burstCapacity does not involve multiplication in the rate-limiting Lua script logic, switching to long should not introduce any risks (such as overflow) but would allow for larger rate limits.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
I'm experiencing limitations when setting up daily rate limits with Spring Gateway's Redis Rate Limiter. According to the documentation:
For instance,
replenishRate=1
,requestedTokens=86400
(for a full day in seconds), andburstCapacity=86400
would theoretically enable a 1 request/day rate limit.However, in the current implementation,
burstCapacity
is limited to the maximumint
value. This means that for a daily rate limit, we can't specify more than2147483647 / 86400 ≈ 25,000
requests. This constraint makes it challenging to set higher daily limits, which are often required for applications with high usage.Describe the solution you'd like
I would like
burstCapacity
to be stored as along
instead of anint
. SinceburstCapacity
does not involve multiplication in the rate-limiting Lua script logic, switching tolong
should not introduce any risks (such as overflow) but would allow for larger rate limits.The text was updated successfully, but these errors were encountered: