@egorkozelskij

Как распределять нагрузку подсистем?

Здравствуйте!

Интересует вопрос управления под-системами и регулированием нагрузки между серверами.
Возьму простой пример: Сервис - конструктор телеграм ботов, который по нажатию клиентом кнопки "ЗАПУСТИТЬ" хостит для него бота на каком то сервере (или все происходит на одной машине с распределением ресурсов).
Когда таких пользователей достаточно много, то мы имеет большое количество систем, которые работают исключительно в пространсве каждого пользователя и умеют общаться с центральным узлом для обработки команд (Запустить, остановить и тд).

Собственно, есть ли какие нибудь подходящие статьи, в которых предлагается архитектура для управлением всеми этими процессами?

Самое простое, что приходит на ум - центральный узел, к которому авторизуются все доступные хосты. Каждый хост имеет свою центральную управляющую программу (процесс). При запросе хапуска нового бота, центральный узел опрашивает загруженность свободных узлов и одному и менее загруженных отправляет команду на запуск. Узел в свою очередь запускает docker контейнер у себя на локальной машине и в дальнейшем управляет им.
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Не надо ничего переизобретать - все уже давно придумано в k8s и сообществом CNCF
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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