Задать вопрос

Архитектура web-приложения с распределением нагрузки на back-end?

Всем привет.
Ребята, надо наладить архитектурку — подскажите, от чего можно оттолкнуться.
Общая схема:1892e1b4a2af423e8b519c6187671553.png
У клиентов имеется фронтенд, постоянно отсылающий с помощью сокетов данные на основной node.js-бекенд.
Этот бекенд должен связываться с удаленными серверами либо виртуалками на том же сервере (все под linux), выбирать менее загруженную машину и отсылать туда задачу (задача — выполнение скрипта либо консольной программы с переданными параметрами и возвращением результата в виде строки, время выполнения конкретной задачи и количество требуемых на нее ресурсов может быть произвольным).
После того, как задача решена и результат ее решения передается назад основному бекенду, оный применяет к этим данным основную логику приложения, подготавливает и отправляет новые данные на фронтенд всем клиентам.

Пожелания:
Возможность автоматизированно перезапускать удаленные сервера в случае подвисания или сбоя. Возможность в любое время отменять задачи (например, при получении основным бекендом соответствующих инструкций с фронтенда.

Вопрос, скорее, ближе к администрированию — буду благодарен за наводки и подсказки, как это более грамотно сделать. Балансировщики? Менеджеры очередей?
Куда покопать и на кого посмотреть?

PS: Для примера, можно представить, что это игровой сервер, на котором множество различных игр разных тематик. Клиенты отсылают ходы на основной бекенд, там они распределяются по машинам, обрабатываются и передаются назад в основной бекенд, который высылает клиентам ответный ход компьютера.
  • Вопрос задан
  • 502 просмотра
Подписаться 5 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@liff
PHP >= 5.4, 7 + PostgreSQL + JS + EmberJs +++
На ваш вопрос сложно ответить 2-10 предложениями.

О балансировке посмотрите тут: www.youtube.com/watch?v=RVfjLTFq1EU ну или на их канале поищете видео, т.к может скинул ссылку немного не ту.
Ответ написан
Комментировать
@Vasily_Pechersky
Системщик с опытом
Могу сказать о балансировщиках.
Из известных мне : Nginx , HAproxy.
Nginx - в режиме reverse proxy может перебрасывать запрос на список бекендов по списку, с приоритетами и.т.д.
HAproxy - вроде более гибкий, больше настроек. Я его не кушал. Только знаю, что он есть.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы