ਰੇਟ ਲਿਮਿਟਿੰਗ ਇਹ ਸੀਮਾ ਲਗਾਉਂਦੀ ਹੈ ਕਿ ਇੱਕ ਕਲਾਇੰਟ ਇੱਕ ਟਾਈਮ ਵਿੰਡੋ ਵਿੱਚ ਕਿੰਨੀਆਂ ਰਿਕੁਐਸਟਾਂ ਕਰ ਸਕਦਾ ਹੈ। ਤੁਸੀਂ ਇਸਨੂੰ ਮਲਟੀਪਲ ਲੇਅਰਾਂ ਤੇ ਲਾਗੂ ਕਰਦੇ ਹੋ ਕਿਉਂਕਿ ਹਰੇਕ ਲੇਅਰ ਕੁਝ ਵੱਖ ਦੇਖਦੀ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਇਸਨੂੰ ਜੋ ਕੁਝ ਵੀ ਦੁਰਵਿਵਹਾਰ ਕਰਨ ਵਾਲੇ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ ਦੁਆਰਾ ਚਾਬੀ ਦਿਓ।
ਰੇਟ ਲਿਮਿਟਿੰਗ ਇਹ ਸੀਮਾ ਲਗਾਉਂਦੀ ਹੈ ਕਿ ਇੱਕ ਕਲਾਇੰਟ ਇੱਕ ਟਾਈਮ ਵਿੰਡੋ ਵਿੱਚ ਕਿੰਨੀਆਂ ਰਿਕੁਐਸਟਾਂ ਕਰ ਸਕਦਾ ਹੈ। ਤੁਸੀਂ ਇਸਨੂੰ ਮਲਟੀਪਲ ਲੇਅਰਾਂ ਤੇ ਲਾਗੂ ਕਰਦੇ ਹੋ ਕਿਉਂਕਿ ਹਰੇਕ ਲੇਅਰ ਕੁਝ ਵੱਖ ਦੇਖਦੀ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਇਸਨੂੰ ਜੋ ਕੁਝ ਵੀ ਦੁਰਵਿਵਹਾਰ ਕਰਨ ਵਾਲੇ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ ਦੁਆਰਾ ਚਾਬੀ ਦਿਓ।
429 Too Many Requests ਨੂੰ Retry-After ਦੇ ਨਾਲ ਵਾਪਸ ਕਰੋ ਤਾਂ ਜੋ ਕਲਾਇੰਟਸ ਪਲ਼ੀ ਨਾਲ ਪਿੱਛੇ ਹਟ ਜਾਣ ਬਜਾਏ ਹਥੌੜੇ ਮਾਰਨ ਦੇ।# Define a shared-memory zone keyed by client IP.
# rate=10r/s = the steady refill rate (token bucket).
limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;
server {
location /api/ {
# burst=20: allow a short spike of 20 queued requests
# nodelay: serve the burst immediately instead of spacing it out
limit_req zone=api burst=20 nodelay;
# Return 429 (not the default 503) so clients see a rate-limit signal
limit_req_status 429;
proxy_pass http://backend;
}
}
ਇੱਥੇ ਹਰੇਕ IP 10 ਰਿਕੁਐਸਟਾਂ/ਸਕਿੰਟ ਤੇ ਭਰਦਾ ਹੈ, 20 ਤੱਕ ਬਰਸਟ ਕਰ ਸਕਦਾ ਹੈ, ਅਤੇ ਕੁਝ ਵੀ ਅੱਗੇ 429 ਪਾਉਂਦਾ ਹੈ।
ਰੇਟ ਲਿਮਿਟਿੰਗ ਤੁਹਾਡੀ ਸਭ ਤੋਂ ਸਸਤੀ, ਹਮੇਸ਼ਾ-ਚਾਲੂ ਰਖਿਆ ਹੈ Layer 7 ਬਾੜ੍ਹ, ਪ੍ਰਮਾਣ-ਪੱਤਰ ਸਟਫਿੰਗ, ਅਤੇ ਖੁਦਮੁਖਤਿਆਰ ਸਕ੍ਰੈਪਰਾਂ ਦੇ ਵਿਰੁੱਧ। ਇਸਨੂੰ ਪੇਜ਼ ਕਰਨਾ (ਵੌਲਯੂਮ ਲਈ ਕਿਨਾਰੇ, ਮੂਲ ਲਈ ਪ੍ਰਾਕਸੀ, ਵਪਾਰਕ ਤਰਕ ਲਈ app) ਅਤੇ ਇਸਨੂੰ ਸਹੀ ਤਰਾਂ ਚਾਬੀ ਬਣਾਉਣਾ ਦੁਰਵਿਵਹਾਰ ਕਰਨ ਵਾਲਿਆਂ ਨੂੰ ਰੋਕਦਾ ਹੈ ਜਦਕਿ ਅਸਲੀ ਯੂਜ਼ਰ — ਅਤੇ ਜਾਇਜ਼ ਬਰਸਟ — ਬਿਨਾ ਪ੍ਰਭਾਵਿਤ ਲੰਘ ਜਾਂਦੇ ਹਨ। ਅਸਲੀ ਬੇਸਲਾਈਨਾਂ ਤੋਂ ਸੀਮਾਵਾਂ ਸੈਟ ਕਰਨਾ ਹੀ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਇਹ ਆਪਣਾ ਹੀ ਆਉਟੇਜ ਨਾ ਬਣ ਜਾਵੇ।
ਵਿਸਤ੍ਰਿਤ ਜਵਾਬਾਂ ਨਾਲ IT ਇੰਟਰਵਿਊ ਸਵਾਲਾਂ ਦੀ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ — ਜੂਨੀਅਰ ਤੋਂ ਸੀਨੀਅਰ ਤੱਕ।
ਦਾਨ ਕਰੋ