Разработчик конструктора Telegram-ботов реализовал архитектуру, позволяющую обслуживать сотни ботов в рамках одного процесса Node.js. Вместо ресурсоемкого long polling используется единый вебхук, который идентифицирует ботов по параметру в URL и проверяет запросы через секретный токен.
Очередь сообщений реализована непосредственно в PostgreSQL. Воркеры забирают задачи из таблицы с помощью команды FOR UPDATE SKIP LOCKED, что исключает дублирование обработки без использования внешних брокеров вроде Redis. Система поддерживает аренду заданий и повторные попытки при сбоях.
Мини-приложения работают на общем рантайме на TypeScript весом около 5 КБ. Рантайм интерпретирует JSON-описание проекта, что позволяет запускать интерфейсы без тяжелых UI-фреймворков. Это обеспечивает быструю загрузку даже при нестабильном мобильном интернет-соединении.
Нагрузочное тестирование на сервере с 4 vCPU и 16 ГБ оперативной памяти показало стабильную работу при 500 клиентах. Текущая производительность составляет около 8 сообщений в секунду, при этом система имеет стократный запас по мощности. В планах — разделение процессов веб-сервера и воркеров для масштабирования.






