Довожу бота или сервис до состояния, когда он держит рекламу и рост базы без задержек и потерянных сообщений.
Что делаю:
Перевожу с long polling на вебхук - обновления приходят сразу и не копятся в очереди
Ставлю очередь задач и воркеры, тяжёлые операции уходят в фон
Лимитер под ограничения Telegram - при ошибке 429 сообщение уходит повтором, рассылка не обрывается на середине
Рассылка и живые диалоги идут разными воркерами и не мешают друг другу
Кэш на частые запросы и пул соединений к базе
Автоперезапуск и health-check, так-же состояние диалога переживает рестарт
Мониторинг с уведомлением в Telegram, если бот замолчал, и ежедневный бэкап
Нагрузочный прогон до и после - время ответа и сколько сообщений в минуту держит сервер
Чаще всего всё упирается в одну долгую операцию в обработчике - запрос к чужому API, генерация файла, рассылка. Пока она идёт, остальные сообщения ждут, и человек через минуту уходит. Вынос их в фон снимает большую часть задержек ещё до разговоров про мощность сервера.
Стек - Python и aiogram, Redis или RabbitMQ под очередь. Работаю с уже написанным ботом, логику не трогаю. Цифры даю по замеру на Вашем железе, без обещаний вроде «выдержит миллион».
10.000 - вебхук, очередь с воркерами, лимитер, мониторинг и нагрузочный прогон с отчётом, срок 6 дней.
Напишите, на чём написан бот и в какой момент он перестаёт справляться - посчитаю под Ваш объём.