Цей документ було перекладено за допомогою ШІ. Для точної інформації зверніться до англійської версії.
Багатозастосунковий режим зі спільною пам'яттю має очевидні переваги в розгортанні та експлуатації, проте зі збільшенням кількості застосунків та складності бізнесу один екземпляр може поступово стикатися з проблемами конкуренції за ресурси та зниження стабільності. Для таких сценаріїв користувачі можуть застосовувати схему гібридного розгортання в кількох середовищах, щоб підтримувати складніші бізнес-вимоги.
У цьому режимі система розгортає один вхідний застосунок як єдиний центр управління та планування, а також кілька екземплярів NocoBase як незалежні середовища виконання застосунків, що безпосередньо забезпечують роботу бізнес-застосунків. Середовища ізольовані одне від одного та працюють спільно, що дозволяє ефективно розподіляти навантаження на один екземпляр, значно підвищуючи стабільність, масштабованість та здатність системи до ізоляції збоїв.
На рівні розгортання різні середовища можуть працювати як в окремих процесах, так і бути розгорнутими у вигляді різних контейнерів Docker або кількох Kubernetes Deployment, що дозволяє гнучко адаптуватися до інфраструктурних середовищ різного масштабу та архітектури.
У режимі гібридного розгортання в кількох середовищах:
Наразі функція створення середовища не надається; кожен робочий застосунок потрібно розгорнути вручну та налаштувати відповідну інформацію про середовище, перш ніж він зможе бути розпізнаний вхідним застосунком.
Перед розгортанням підготуйте наступні сервіси:
Redis
База даних
Вхідний застосунок виступає як єдиний центр управління, відповідальний за створення, запуск, зупинку застосунків та планування середовищ, а також за проксі-доступ до застосунків.
Пояснення змінних середовища вхідного застосунку
Робочий застосунок виступає як фактичне середовище виконання бізнесу, відповідальне за розміщення та запуск конкретних екземплярів застосунків NocoBase.
Пояснення змінних середовища робочого застосунку
Наступний приклад демонструє схему гібридного розгортання в кількох середовищах з використанням контейнерів Docker як одиниць виконання, де через Docker Compose одночасно розгортаються один вхідний застосунок та два робочі застосунки.
Основні операції з управління застосунками не відрізняються від режиму спільної пам'яті, будь ласка, зверніться до розділу Режим спільної пам'яті. Ця частина в основному описує вміст, пов'язаний з конфігурацією кількох середовищ.
Після завершення розгортання перейдіть на сторінку «Менеджер застосунків» вхідного застосунку, де на вкладці «Середовища» можна переглянути список зареєстрованих робочих середовищ. Він містить таку інформацію, як ідентифікатор середовища, версія робочого застосунку, URL-адреса доступу та статус. Робочі застосунки повідомляють про свій стан (heartbeat) кожні 2 хвилини, щоб забезпечити доступність середовища.

При створенні застосунку ви можете вибрати одне або кілька середовищ виконання, щоб вказати, у яких робочих застосунках буде розгорнуто цей застосунок. Зазвичай рекомендується вибирати одне середовище. Вибирайте кілька середовищ лише тоді, коли в робочому застосунку виконано розподіл сервісів і необхідно розгорнути той самий застосунок у кількох середовищах виконання для розподілу навантаження або ізоляції можливостей.

Сторінка списку застосунків відображає поточне середовище виконання та інформацію про статус для кожного застосунку. Якщо застосунок розгорнуто в кількох середовищах, відображатиметься кілька статусів виконання. За звичайних обставин той самий застосунок у кількох середовищах зберігатиме єдиний стан, і його запуск та зупинку потрібно контролювати уніфіковано.

Оскільки під час запуску застосунку в базу даних можуть записуватися ініціалізаційні дані, для уникнення станів гонитви в умовах кількох середовищ, застосунки, розгорнути в кількох середовищах, запускатимуться по черзі.

До робочих застосунків можна отримати доступ через проксі за допомогою підшляху /apps/:appName/admin вхідного застосунку.

Якщо застосунок розгорнуто в кількох середовищах, необхідно вказати цільове середовище для проксі-доступу.

За замовчуванням для проксі-доступу використовується адреса доступу робочого застосунку, що відповідає змінній середовища ENVIRONMENT_URL. Переконайтеся, що ця адреса доступна в мережевому середовищі, де знаходиться вхідний застосунок. Якщо потрібно використовувати іншу адресу для проксі-доступу, її можна перевизначити за допомогою змінної середовища ENVIRONMENT_PROXY_URL.