AI SaaS Builder · Урок

Ограничение частоты и постановка запросов искусственного интеллекта в очередь

Научитесь защищать серверную часть своего SaaS-продукта на основе искусственного интеллекта от перегрузки и неконтролируемых расходов с помощью ограничения частоты, очередей запросов и плавного управления обратным давлением.

Урок 4 из 413 шагов

«Ограничение частоты и постановка запросов искусственного интеллекта в очередь» — бесплатный урок AI SaaS Builder на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI SaaS Builder, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI SaaS Builder содержит 4 уроков всего.

Зачем ограничивать запросы к ИИ

Конечные точки ИИ работают медленно и стоят дорого. Без ограничений несколько пользователей (или ошибка) могут исчерпать Ваш бюджет или привести к сбою сервиса.

  • контролировать расходы;
  • защищать стабильность;
  • обеспечивать справедливость.

Основы ограничения частоты запросов

Ограничение частоты запросов задаёт максимальное количество запросов, которое клиент может отправить за определённый период, например 60 запросов в минуту.

Алгоритм TokenBucket

TokenBucket пополняется токенами со временем. Каждый запрос расходует один токен; если ведро пусто, запрос отклоняется или ожидает.

class TokenBucket:
    def __init__(self, capacity, refill_per_sec):
        self.capacity = capacity
        self.tokens = capacity
        self.refill = refill_per_sec
    def allow(self):
        if self.tokens >= 1:
            self.tokens -= 1
            return True
        return False

Ограничения для пользователей и всей системы

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

Возврат ответа 429

Когда клиент превышает ограничение, отвечайте HTTP-статусом 429 Too Many Requests и заголовком Retry-After.

res.status(429)
   .set('Retry-After', '30')
   .json({ error: 'rate_limited' })

Зачем ставить долгие задачи в очередь

Генерация ИИ может занимать много секунд. Удержание HTTP-соединения расходует ресурсы. Очередь позволяет принять задачу и обработать её асинхронно.

Шаблон очереди задач

Примите запрос, поставьте задачу в очередь и сразу верните её идентификатор. Рабочие процессы извлекают задачи и выполняют вызов ИИ.

POST /generate -> { jobId: 'abc123', status: 'queued' }
# worker processes job
GET /jobs/abc123 -> { status: 'done', result: ... }

Обратное давление

Когда очередь становится слишком длинной, применяйте обратное давление: отклоняйте новые низкоприоритетные задачи или предупреждайте пользователей о задержках вместо того, чтобы молча накапливать их.

Ограничения параллельности для рабочих процессов

Ограничьте количество одновременно выполняемых вызовов ИИ, чтобы соблюдать ограничения поставщика и сохранять предсказуемую задержку.

# worker config
MAX_CONCURRENT_AI_CALLS = 5

Повторные попытки с задержкой

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

delay = base * (2 ** attempt)  # 1s, 2s, 4s, 8s ...

Наблюдаемость

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

Быстрая проверка

Проверьте свои знания о масштабировании.

Повторение

Вы научились защищать серверную часть ИИ с помощью ограничения частоты запросов (TokenBucket, ограничений для пользователей и глобальных ограничений), возвращать ответы 429, переносить медленные задачи в очередь задач, применять обратное давление и ограничения параллельности, повторять запросы с увеличением задержки и отслеживать состояние очереди.

Можно начать бесплатно

Изучай AI SaaS Builder с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
12
Уроки
47

Часто задаваемые вопросы

Урок «Ограничение частоты и постановка запросов искусственного интеллекта в очередь» бесплатный?

Да — полный текст урока «Ограничение частоты и постановка запросов искусственного интеллекта в очередь» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI SaaS Builder, подпишись на CoddyKit PRO. Курс AI SaaS Builder содержит 4 уроков всего.

Чему я научусь в уроке «Ограничение частоты и постановка запросов искусственного интеллекта в очередь»?

Научитесь защищать серверную часть своего SaaS-продукта на основе искусственного интеллекта от перегрузки и неконтролируемых расходов с помощью ограничения частоты, очередей запросов и плавного управ… Ты практикуешь AI SaaS Builder с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI SaaS Builder?

Предыдущий опыт не требуется. AI SaaS Builder на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Ограничение частоты и постановка запросов искусственного интеллекта в очередь»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI SaaS Builder?

Да. Каждый урок AI SaaS Builder включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Проектирование RESTful API
  2. Управление базами данных для SaaS
  3. Аутентификация и авторизация пользователей
  4. Ограничение частоты и постановка запросов искусственного интеллекта в очередь
← Назад к AI SaaS Builder