Лимит запросов к API на Symfony, как лучше реализовать?

Пробую сделать сервис API логично нужно как-то предусмотреть лимит запросов к его методам. В гайдах про это не говорят. Как это правильно реализовать, если делать самому? Возможно вы используете что-то готовое для этого? Нужна возможность ограничивать для авторизованных пользователей по их ID количество запросов в минуту/час для разных методов по разному
  • Вопрос задан
  • 634 просмотра
Пригласить эксперта
Ответы на вопрос 1
dastanaron_dev
@dastanaron_dev
Developer web backend and frontend
Вообще есть в гайдах вот такая штука: https://symfony.com/doc/current/rate_limiter.html
На эту тему лучше гуглить примерно так: Throttling in the {FRAMEWORK_NAME}, тогда обычно какие то готовые решения находятся.

Но если нужно контролировать для разных методов, то лучше своя реализация. Я думаю для таких вещей хорошо подходит redis куда можно очень быстро записать данные примерно такого вида rate-limit:methodName:requestCount = 1 и инкрементить это число при каждом запросе, а перед запросом проверять соотвествующий ключ в redis
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы