Junior — Senior
50
Конструирование системы ограничения запросов
Условие задачи
Разработайте механизм ограничения трафика, учитывающий следующие требования:
- Ограничивает обращения к API (например, REST или gRPC).
- Приоритетное ограничение по IP‑адресу с возможностью дальнейшего расширения (например, по токену или идентификатору пользователя).
- Ожидаемая нагрузка – около 1 млн активных пользователей в день.
- Должен выдерживать всплески нагрузки.
- Архитектура должна быть распределённой.
- Проверка ограничения должна происходить с минимальной задержкой.
- Обеспечить отказоустойчивость.
- При превышении лимита возвращать понятное сообщение об ошибке. Цель – сократить количество HTTP‑запросов к сервису и защитить систему от DDoS‑атак и избыточной нагрузки.