Техническое задание: Настройка ограничений запросов (Rate Limiting) и защиты от всплесков трафика

Цель проекта

Реализовать на уровне сервера надёжную систему контроля и ограничения частоты запросов к публичному API для обеспечения стабильности и защиты от злоупотреблений.

Основные требования

1. Базовый функционал Rate-Limiting

  • Внедрение ограничений на основе скользящего окна (sliding window).
  • Настройка двух независимых уровней лимитов:
    • Per-IP: Ограничение количества запросов с одного IP-адреса.
    • Per-API-Key: Ограничение количества запросов по уникальному ключу доступа.
  • Реализация базовой защиты от бурстов (резких всплесков трафика).

2. Корректное информирование клиентов

  • При исчерпании лимита сервер должен возвращать чёткие и понятные HTTP-ответы (например, статус 429 Too Many Requests).
  • В заголовках ответа (headers) должны передаваться актуальные данные о лимитах и текущем использовании.

3. Расширенные квоты для партнёров

  • Предусмотреть возможность настройки отдельных, повышенных лимитов для запросов, поступающих от партнёрских интеграций или доверенных клиентов.
  • Механизм должен быть гибким и управляемым.

Ожидаемый результат

Стабильный и защищённый API, который корректно обрабатывает высокие нагрузки, предотвращает злоупотребления и предоставляет клиентам прозрачную информацию о статусе их запросов.

Разработка парсера и бота для автоматизации действий на веб-сайте

Требуется создать программное решение для автоматического входа в большое количество аккаунтов (более 1000) и выполнения определенного действия на целевом сайте. Основная сложность - обход капчи при авторизации.