pro100chel
@pro100chel
Senior Pomidor Developer | CEO of GOVNOKOD LTD.

Серверная часть бота?

Есть бот VK, которому может написать любой человек.
Это бот для знакомств. Каждому человеку предлагаются анкеты других людей и он выберает знакомиться с ними или нет.
В группе около 2млн человек.
Ожидается около 1000-2000 сообщений в секунду.

Использовать для написания буду Python.
Какую базу данных использовать? Нужно ли что-то для кэширования по типу Redis?
PostgreSQL выдержит или MySQL?

Нужно ли будет использовать несколько серверов? Разделения базы данных на несколько серверов?
  • Вопрос задан
  • 315 просмотров
Пригласить эксперта
Ответы на вопрос 3
Правильно:

Общение идет между ботом и чат-сервером (на node.js/go)
По окончанию чата (либо по тайм-ауту), чат-сервер записывает всю инфу в базу.
И уже какое-то бизнес-приложение (на православных symfony/django/spring) - общается в базу, вытягивает данные и как-то с ними работает.

Ну и естественно, между этим всем идут межсервисные сообщения (эвенты), которые оповещают об изменение статуса чата.

При росте нагрузки, сначала идет горизональное расширение чат-серверов на несколько инстансов с общей базой. Если и этого не хватает, то база шардируется. Но про нагрузку - если дорастешь до такого состояния, уже человек 50 штата будет, и это уже будет не твоя проблема.
Ответ написан
@Kirill-Gorelov
С ума с IT
Ребята, успокойтесь!!!!!)))))
Еще далеко вам до высоких нагрузок.
Mysql выдержит не переживай.
Если переживаешь, прикупи сервер немного по мощнее и все для начала. А потом уже думай, надо ли тебе несколько серверов.
Еще не факт, что 1000 до 2000 к сек будут запросы. Ты же даже не измерил. Это гадание ка кофейной гуще.

Делай своего бота и не переживай.
Ответ написан
Ваш ответ на вопрос

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

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