@sniper090

Как можно создавать воркеров и балансировать Telegram бота?

Есть бот модератор, который состоит в большом количестве групп и модерирует их на наличие запрещенных слов, раньше все работало хорошо, количество запросов не превышало 30, но сейчас это около 3000 запрсоов в секунду и один сервер на котором раньше все стояло (стек nginx + php-fpm + mysql + redis, а так же админ панель) попросту не справляется, поэтому появились такие вопросы:
1) Mysql сильно нагружает систему. Из-за частых операций с базой (пользоватлеь сменил имя, оставил какое-то сообщение, изменил сообщение и т.д необходимо хранить, поэтому чуть ли не каждый запрос на вебхук - это минимум один запрос к базе) может лечь php скрипт, который является вебхуком, из-за чего телеграм отправляет ещё больше вебхуков т.к не получил ответа от предыдущих, потому что они не получили ответа от базы. Данные необходимо обновлять в реалтайме, поэтому возник вопрос как это лучше сделать? Перенести на другой сервер базу? Или это не поможет ситуации и все станет ещё хуже?
2) Одна точка доступа так же является узким горлышком в системе. На неё подвязаны все боты (для удобства админы групп могут создавать личных ботов и добавлять в конфы), была идея передавать все запросы на rabbitmq, которые бы разбирали воркеры, но как я понимаю скрипт должен быть запущен демоном и сам запрашивать с очереди запрос? Можно ли это реализовать так, чтобы на стороне куда идет вебхук происходила его верификация, если все ок и этот бот закреплен за каким-либо администратором - передавать вебхук на одного из воркеров?
  • Вопрос задан
  • 307 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы