Nginx использует метод с утечкой, чтобы ограничить частоту запросов. Nginx http_limit_req_module .
Это означает, что если я установлю ограничение в 100 рэк / сек, а затем меня затопит 120 рэк / сек, 100 запросов будут обслуживаться нормально, но 20 запросов будутбыть обслужен с ошибкой 503.
Как я могу установить это с Haproxy?
Я прочитал много документации о sc_http_req_rate , но так как скорость всегда составляет 120 req/ сек.Я всегда возвращаю 503 ошибки.
frontend main
bind *:80
acl foo_limited_req sc_http_req_rate(0) ge 100
http-request track-sc0 path table Abuse # Set the URI as the key of the table
use_backend bk1 if foo_limited_req
default_backend web
backend web
server web1 192.168.0.10
backend Abuse
stick-table type string len 128 size 100K expire 30m store http_req_rate(1s)
backend bk1
server listenerror 127.0.0.1:81
listen errorlistener
bind 127.0.0.1:81
mode http
errorfile 503 /etc/haproxy/errors/200-tuned.http
Я хочу обслуживать поток 100 запросов в секунду с web backend.И излишек в 20 рек / сек с бэкэндом bk1 .