Что такое rate limiter middleware?

Middle
313 просмотров
AFK Offer AI

Rate limiter ограничивает количество запросов от клиента за период. Алгоритмы: token bucket (плавный), fixed window (простой), sliding window (точный). В Go: golang.org/x/time/rate — token bucket, rate.NewLimiter(rate.Every(time.Second), burst). В middleware: if !limiter.Allow() { return 429 }. Для per-IP — map[string]*rate.Limiter с mutex. Или Redis-based для distributed. Header Retry-After подсказывает клиенту, когда повторить.

Следующий вопрос

Как работает netpoller в Go?