429 — это не про скорость. Это про бюджет, которого ты не видишь

i_alakey 16 минут назад Объяснить с 429 — это не про скорость. Это про бюджет, которого ты не видишь Средний 10 мин 511 Программирование * Распределённые системы * Высоконагруженные системы * Проектирование API *...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Значимый прорыв формирует отрасль ИИ: i_alakey 16 минут назад Объяснить с 429 — это не про скорость. Это про бюджет, которого ты не видишь Средний 10 мин 511 Программирование * Распределённые системы * Высоконагруженные системы * Проектирование API * Микросервисы * Кейс Рейт-лимит — это не ограничение скорости. Это бюджет, и тратишь его не ты одинВ 2023-м я написал бота, который публикует посты в Telegram-каналы по расписанию.
Планировщик до сих пор лежит на гитхабе, в telegrammanager, и вот он целиком:public void distribution() { List notes = dataManager. query("select n from telegrambot_Note n where n. parameter("status", StatusEnum.
Технические детали
list(); for (Note note : notes) { Date targetDate = note. getDateScheduled(); Date currentDate = new Date(); long delayInMillis = targetDate. getTime() - currentDate.
getTime(); if (delayInMillis < 0) { telegramBotService. getId()); delayInMillis = 0; } } } Забрать всё, чему пора, и отправить в цикле. Публиковало мне в каналы несколько лет, и я о нём не вспоминал.
Потом было пару лет на Telegram-платформе, работавшей на ~300K MAU, ~75 RPS в пике и ~1,5 миллиона событий в день, — и там выяснилось, что в этих пятнадцати строках неверно вообще всё. Стек дальше будет важен, поэтому сразу: Laravel-бэкенд на MySQL, фоновая работа — в родной Laravel-очереди (jobs / failed_jobs): генерации, ретраи, всё, что падает и подхватывается заново. Redis стоял рядом и занимался другим: исходящей отправкой и бюджетом рейт-лимита.
Отраслевые последствия
Это две очереди с двумя разными задачами, и путать их — первое, чего делать не надо. Про MySQL-половину этой системы я уже писал в статье про аналитику — путь отправки это та половина, которая никогда не становится строкой, и вот её история. Не «неоптимально» — неверно.
Неверно отсутствие задержки. Неверна сама идея, что «отправить» — это операция, которую данный процесс имеет право выполнить самостоятельно. Фраза, после которой всё встало на места:Рейт-лимит — это не ограничение скорости.
Это бюджет, и тратишь его не ты один. Ограничение скорости — свойство твоего цикла, и закрывается оно sleep-ом. Бюджет — свойство токена, общее для всех процессов с этим токеном, и изнутри одного процесса его закрыть нельзя.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.






