Sobes.tech
Junior — Senior
50

Конструирование системы ограничения запросов

Условие задачи

Разработайте механизм ограничения трафика, учитывающий следующие требования:

  1. Ограничивает обращения к API (например, REST или gRPC).
  2. Приоритетное ограничение по IP‑адресу с возможностью дальнейшего расширения (например, по токену или идентификатору пользователя).
  3. Ожидаемая нагрузка – около 1 млн активных пользователей в день.
  4. Должен выдерживать всплески нагрузки.
  5. Архитектура должна быть распределённой.
  6. Проверка ограничения должна происходить с минимальной задержкой.
  7. Обеспечить отказоустойчивость.
  8. При превышении лимита возвращать понятное сообщение об ошибке. Цель – сократить количество HTTP‑запросов к сервису и защитить систему от DDoS‑атак и избыточной нагрузки.