Кэширование и ограничение частоты для вышестоящих сервисов
Защитите серверные компоненты от неконтролируемых вызовов модели.
«Кэширование и ограничение частоты для вышестоящих сервисов» — бесплатный урок MCP Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MCP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MCP Academy содержит 4 уроков всего.
Модели могут перегружать серверы
Активная модель может снова и снова вызывать один и тот же инструмент. Без ограничений она способна перегрузить базу данных или API, стоящие за ним. ⚠️
Кэшируйте повторяющиеся чтения
Кэш хранит недавние результаты, поэтому идентичный запрос возвращается мгновенно, вместо того чтобы повторно обращаться к внешнему источнику.
Формируйте ключ кэша по входным данным
Создавайте ключ кэша из аргументов инструмента: тогда тот же город или идентификатор повторно использует сохранённый ответ, а для новых данных выполняется свежий запрос.
key = ("weather", city)
if key in cache:
return cache[key]Задайте TTL для записей
Задайте время жизни, чтобы кэшированные данные устаревали. Устаревшие ответы обновляются, поэтому результаты остаются быстрыми и достаточно актуальными.
Кэшируйте только безопасные чтения
Кэшируйте идемпотентные операции чтения, но никогда не кэшируйте действия с побочными эффектами. Вы ведь не хотите, чтобы кэшированная запись незаметно пропустила реальное изменение.
Ограничьте частоту вызовов
Ограничение частоты задаёт, как часто может выполняться инструмент, поэтому вышедшая из-под контроля модель не сможет отправить тысячи запросов одним всплеском.
Идея маркерного ведра
Распространённый подход — маркерное ведро: каждый вызов расходует маркер, маркеры со временем пополняются, а пустое ведро означает, что нужно подождать.
Соблюдайте ограничения внешнего сервиса
Согласуйте своё ограничение с квотой API. Если оставаться ниже его квоты, можно избежать ответов 429 и ограничений доступа.
Снижайте частоту после ответа 429
Если внешний сервис отвечает 429 Too Many Requests, сделайте паузу и повторите запрос позже с увеличивающейся задержкой, вместо того чтобы усиливать нагрузку.
Ограничьте параллельность
Семафор ограничивает количество вызовов к серверу одновременно, сглаживая всплески, чтобы внешний сервис никогда не был перегружен.
sem = asyncio.Semaphore(5)
async with sem:
...Возвращайте понятное сообщение об ограничении
Если Вы ограничили частоту, прямо сообщите модели, что для неё действует ограничение частоты, чтобы она могла подождать или выбрать другой подход.
Быстрая проверка
Результат какого типа безопасно кэшировать?
Итоги: кэширование и ограничения
Вы защитили внешние сервисы с помощью кэша, ограничений частоты и увеличивающихся задержек, обезопасив серверы от неконтролируемых вызовов модели. 🎯
Изучай Python с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Кэширование и ограничение частоты для вышестоящих сервисов» бесплатный?
Да — полный текст урока «Кэширование и ограничение частоты для вышестоящих сервисов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MCP Academy, подпишись на CoddyKit PRO. Курс MCP Academy содержит 4 уроков всего.
Чему я научусь в уроке «Кэширование и ограничение частоты для вышестоящих сервисов»?
Защитите серверные компоненты от неконтролируемых вызовов модели. Ты практикуешь MCP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать MCP Academy?
Предыдущий опыт не требуется. MCP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Кэширование и ограничение частоты для вышестоящих сервисов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке MCP Academy?
Да. Каждый урок MCP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Безопасное предоставление SQL-запросов
- Преобразование REST API в инструменты
- Пулы соединений в течение времени жизни
- Кэширование и ограничение частоты для вышестоящих сервисов