Rate limiter ограничивает количество запросов в единицу времени. Самые популярные алгоритмы — token bucket и sliding window. Token bucket: есть корзина с токенами, каждый запрос забирает токен, токены добавляются с фиксированной скоростью. Sliding window: считаем запросы в скользящем окне времени. Для распределённой системы счётчики хранишь в Redis с INCR + EXPIRE. В Go делаешь middleware, который перед обработкой запроса проверяет лимит по IP или API key.
Как спроектировать rate limiter?
Middle
688 просмотровAFK Offer AI
Что такое window function?