Tento dokument byl přeložen pomocí AI. Pro přesné informace se podívejte na anglickou verzi.
Režim více aplikací se sdílenou pamětí má zřejmé výhody v nasazení a provozu, ale s rostoucím počtem aplikací a složitostí procesů může jedna instance postupně čelit problémům, jako je soupeření o prostředky a snížená stabilita. Pro tyto scénáře mohou uživatelé využít hybridní řešení nasazení ve více prostředích, které podpoří složitější obchodní požadavky.
V tomto režimu systém nasadí jednu vstupní aplikaci jako sjednocené centrum správy a plánování a zároveň nasadí několik instancí NocoBase jako nezávislá běhová prostředí aplikací, která skutečně hostují obchodní aplikace. Jednotlivá prostředí jsou od sebe izolována a spolupracují, čímž efektivně rozkládají zátěž jedné instance a výrazně zvyšují stabilitu, škálovatelnost a schopnost izolace poruch systému.
Na úrovni nasazení mohou různá prostředí běžet v samostatných procesech, jako různé kontejnery Docker nebo ve formě několika Kubernetes Deploymentů, což umožňuje flexibilní přizpůsobení infrastruktuře různých měřítek a architektur.
V režimu hybridního nasazení ve více prostředích:
V současné době není k dispozici funkce pro vytváření prostředí; každá pracovní aplikace musí být nasazena ručně a nakonfigurována s odpovídajícími informacemi o prostředí, aby ji vstupní aplikace mohla rozpoznat.
Před nasazením si prosím připravte následující služby:
Redis
Databáze
Vstupní aplikace slouží jako sjednocené centrum správy, které odpovídá za vytváření, spouštění, zastavování aplikací a plánování prostředí, a také za proxy přístup k aplikacím.
Popis konfigurace proměnných prostředí vstupní aplikace
Pracovní aplikace slouží jako skutečné běhové prostředí, které odpovídá za hostování a běh konkrétních instancí aplikací NocoBase.
Popis konfigurace proměnných prostředí pracovní aplikace
Následující příklad ukazuje hybridní řešení nasazení ve více prostředích s využitím kontejnerů Docker jako běhových jednotek, kde je pomocí Docker Compose současně nasazena jedna vstupní aplikace a dvě pracovní aplikace.
Základní operace správy aplikací jsou stejné jako v režimu sdílené paměti, podrobnosti naleznete v části Režim sdílené paměti. Tato část se zaměřuje především na obsah související s konfigurací více prostředí.
Po dokončení nasazení přejděte na stránku „Správce aplikací“ ve vstupní aplikaci. Na kartě „Prostředí“ si můžete prohlédnout seznam registrovaných pracovních prostředí. Ten obsahuje informace jako identifikátor prostředí, verzi pracovní aplikace, URL pro přístup a stav. Pracovní aplikace odesílají signál o aktivu (heartbeat) každé 2 minuty, aby zajistily dostupnost prostředí.

Při vytváření aplikace můžete vybrat jedno nebo více běhových prostředí, čímž určíte, do kterých pracovních aplikací bude tato aplikace nasazena. Obvykle se doporučuje vybrat pouze jedno prostředí. Více prostředí vybírejte pouze v případě, že u pracovní aplikace došlo k rozdělení služeb a je nutné nasadit stejnou aplikaci do více běhových prostředí za účelem sdílení zátěže nebo izolace schopností.

Stránka se seznamem aplikací zobrazuje aktuální běhové prostředí a informace o stavu každé aplikace. Pokud je aplikace nasazena ve více prostředích, zobrazí se více provozních stavů. Stejná aplikace ve více prostředích by měla za normálních okolností udržovat jednotný stav a její spouštění a zastavování je třeba ovládat sjednoceně.

Vzhledem k tomu, že při spouštění aplikace může docházet k zápisu inicializačních dat do databáze, aplikace nasazené ve více prostředích se spouštějí postupně ve frontě, aby se předešlo souběhu (race conditions).

K pracovním aplikacím lze přistupovat přes proxy prostřednictvím podcesty /apps/:appName/admin vstupní aplikace.

Pokud je aplikace nasazena ve více prostředích, je nutné určit cílové prostředí pro proxy přístup.

Ve výchozím nastavení používá adresa proxy přístupu adresu pracovní aplikace odpovídající proměnné prostředí ENVIRONMENT_URL. Je nutné zajistit, aby tato adresa byla přístupná v síťovém prostředí, kde běží vstupní aplikace. Pokud potřebujete použít jinou adresu pro proxy přístup, můžete ji přepsat pomocí proměnné prostředí ENVIRONMENT_PROXY_URL.