Ограничение частоты запросов по ключу (IP, user id, API key). Алгоритмы: фиксированное окно, скользящее окно, token bucket. В Go: middleware с хранилищем (map + mutex или Redis для распределенного). При превышении возвращают 429 Too Many Requests и Retry-After. Библиотеки: golang.org/x/time/rate (token bucket), ulule/limiter.
limiter := rate.NewLimiter(10, 20) // 10/sec, burst 20
if !limiter.Allow() {
http.Error(w, "Too Many Requests", 429)
return
}