Управление мультиприложениями
Супервизор приложенийEnterprise Edition+Обзор
Управление мультиприложениями — это единое решение для управления приложениями, предла гаемое NocoBase. Оно позволяет создавать и управлять несколькими физически изолированными экземплярами приложений NocoBase в одной или нескольких средах выполнения. С помощью супервизора приложений пользователи могут создавать и сопровождать несколько приложений из одной точки входа, поддерживая различные бизнес‑потребности и этапы роста.
Мультиприложения подходят для следующих сценариев:
- Разделение большой системы на несколько приложений по бизнес-модулям, например CRM, постпродажное обслуживание, операции или аналитика
- Параллельная разработка командами по бизнес-направлениям или модулям с меньшим влиянием конфигураций и релизов между модулями
- Создание изолированных приложений для разных клиентов, арендаторов или организаций
- Массовое создание независимых demo-, test- или sandbox-приложений
- Распределение приложений по разным средам выполнения при росте их количества или нагрузки
Одиночное приложение
На раннем этапе проекта большинство пользоват елей начинают с одного приложения.
В этом режиме развёрнут только один экземпляр NocoBase. Вся бизнес‑логика, данные и пользователи работают внутри одного приложения. Развёртывание простое, затраты на конфигурацию низкие, что делает такой вариант подходящим для прототипов, небольших проектов или внутренних инструментов.
По мере роста бизнеса одиночное приложение естественным образом сталкивается с ограничениями:
- Функции постоянно накапливаются, делая систему перегруженной;
- Бизнес‑домены сложно изолировать;
- Расходы на масштабирование и сопровождение продолжают расти.
На этом этапе пользователи обычно хотят разделить разные направления бизнеса на несколько приложений, чтобы улучшить сопровождение и масштабируемость.
Мультиприложения с общей памятью
Когда пользователи хотят разделить бизнес‑домены, не вводя при этом сложное развёртывание и эксплуатацию, они могут перейти к режиму мультиприложений с общей памятью.
В этом режиме нес колько приложений работают в рамках одного экземпляра NocoBase. Каждое приложение независимо, может подключаться к собственной базе данных и может создаваться, запускаться и останавливаться отдельно. Однако все они разделяют один и тот же процесс и область памяти, поэтому пользователю по‑прежнему нужно сопровождать только один экземпляр NocoBase.

Такой подход даёт заметные преимущества:
- Бизнес можно разделять на уровне приложений;
- Функции и конфигурации приложений становятся более прозрачными;
- Ниже накладные расходы по ресурсам по сравнению с мультипроцессным или мультиконтейнерным вариантами.
Однако, поскольку все приложения работают в одном процессе, они разделяют CPU и память. Высокая нагрузка или сбой одного приложения могут повлиять на стабильность остальных.
По мере увеличения числа приложений или при необходимости более сильной изоляции и стабильности архитектура должна эволюционировать дальше.
Гибридное развертывание в нескольких средах
Когда масштабы и сложность бизнеса растут, а приложениям требуется развитое масштабирование, модель с общей памятью сталкивается с проблемами конкуренции за ресурсы, стабильности и безопасности. На этом этапе можно использовать гибридное развертывание в нескольких средах, чтобы поддержать более сложные сценарии.
Суть этой архитектуры — введение входного приложения: один экземпляр NocoBase выступает в роли единой плоскости управления, в то время как несколько экземпляров NocoBase развёртываются как среды выполнения приложений, которые фактически размещают бизнес‑приложения.
Входное приложение отвечает за:
- Создание приложений, их конфигурацию и управление жизненным циклом;
- Отправку управляющих команд и агрегацию статусов.
Среды выполнения приложений отвечают за:
- Размещение и запуск бизнес‑приложений в режиме мультиприложений с общей памятью.
С точки зрения пользователя приложения по‑прежнему создаются и управляются через единую точку входа. Внутри системы:
- Разные приложения могут работать на разных узлах или кластерах;
- Каждое приложение может использовать собственную базу данных и middleware;
- Высоконагруженные приложения можно изолировать или масштабировать независимо.

Эта модель хорошо подходит для SaaS‑платформ, большого числа демо‑сред и мульти‑арендных сценариев, повышая стабильность и управляемость при сохранении гибкости.

