раздел 03 · подстраница 1
Hard limits и алерты
Что это за тема
Два механизма защиты от перерасхода в кабинете провайдера API. Алерт предупреждает, hard limit останавливает. Вместе они закрывают и «незаметно набежало», и «цикл в коде накрутил счёт».
Зачем это понимать
Без лимитов один баг превращается в реальные деньги. Бесконечный цикл, ошибка в логике повторов, утёкший ключ - и за ночь расход уходит далеко за план. Hard limit делает максимальный ущерб предсказуемым.
Как это устроено
Алерт (soft limit). Задаёте пороги - например, уведомление на 25, 50 и 80% от ожидаемого месячного бюджета. При достижении провайдер шлёт письмо. Запросы продолжают идти. Задача алерта - заметить аномалию рано.
Hard limit. Задаёте потолок расхода за период. Достигли - провайдер перестаёт принимать запросы до следующего периода или до повышения лимита. Задача - ограничить максимальный ущерб.
Лимиты на ключ. Если провайдер или агрегатор это умеет, заведите отдельные ключи под разные проекты и поставьте каждому свой лимит. Тогда сбой в одном проекте не утянет бюджет остальных. Про подход с виртуальными ключами и шлюзами - см. курс про контроль расходов по API на сайте.
Пример
Бюджет на проект - условные 100 единиц в месяц.
- алерт на 50 - «идём по плану, всё нормально»,
- алерт на 80 - «пора проверить, не аномалия ли»,
- hard limit на 130 - дальше запросы не принимаются.
Если из-за бага расход рванул вверх, вы получите письмо на 80, а на 130 всё остановится само. Числа - ориентир, подберите под свой проект.
Антипаттерны
- Ставить только алерт. Письмо легко пропустить ночью или в выходные.
- Один hard limit на всё. Без разбивки по ключам непонятно, какой проект съел бюджет.
- Лимит «на глаз», без прикидки. Поставьте его от оценки из раздела 02, а не наугад.
Что дальше
Дальше - как снижать сам расход: выбор модели, короткий контекст, кэш, батчинг и опенсорс.