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