feat: Put request rate limit at application server (#3857)

* feat: Put request rate limit at application server

This PR contains implementation for a blanket rate limiter at
application server level. Currently the allowed throughput is set high
only to be changed later as per the actual data gathered.

* Simplify implementation

1. Remove shutdown handler to purge rate limiter keys
2. Have separate keys for default and custom(route-based) rate limiters
3. Do not kill default rate limiter because it is not needed anymore due
   to (2) above

* Set 60s as default for rate limiting window

* Fix env types
This commit is contained in:
Apoorv Mishra
2022-08-11 15:40:30 +05:30
committed by GitHub
parent 593cf73118
commit 7eaa8eb961
9 changed files with 148 additions and 0 deletions

View File

@@ -170,3 +170,10 @@ SMTP_SECURE=true
# The default interface language. See translate.getoutline.com for a list of
# available language codes and their rough percentage translated.
DEFAULT_LANGUAGE=en_US
# Optionally enable rate limiter at application web server
RATE_LIMITER_ENABLED=true
# Configure default throttling paramaters for rate limiter
RATE_LIMITER_REQUESTS=5000
RATE_LIMITER_DURATION_WINDOW=60