Dit document is vertaald door AI. Raadpleeg de Engelse versie voor nauwkeurige informatie.
De gedeelde geheugenmodus voor meerdere applicaties biedt duidelijke voordelen bij implementatie en beheer, maar naarmate het aantal applicaties en de complexiteit van de bedrijfsvoering toenemen, kan een enkele instantie te maken krijgen met problemen zoals resource-concurrentie en verminderde stabiliteit. Voor dergelijke scenario's kunnen gebruikers kiezen voor een hybride implementatieoplossing met meerdere omgevingen om aan complexere zakelijke behoeften te voldoen.
In deze modus implementeert het systeem één ingangsapplicatie als een centraal beheer- en planningscentrum, terwijl meerdere NocoBase-instanties worden ingezet als onafhankelijke runtime-omgevingen die de eigenlijke bedrijfsapplicaties hosten. De omgevingen zijn van elkaar geïsoleerd en werken samen, waardoor de druk op een enkele instantie effectief wordt verdeeld en de stabiliteit, schaalbaarheid en foutisolatie van het systeem aanzienlijk worden verbeterd.
Op implementatieniveau kunnen verschillende omgevingen in afzonderlijke processen draaien, worden geïmplementeerd als verschillende Docker-containers, of bestaan in de vorm van meerdere Kubernetes Deployments, waardoor ze flexibel kunnen worden aangepast aan infrastructuuromgevingen van verschillende schaalgroottes en architecturen.
In de hybride implementatiemodus met meerdere omgevingen:
Momenteel is er nog geen functie voor het maken van omgevingen beschikbaar; elke werkapplicatie moet handmatig worden geïmplementeerd en geconfigureerd met de bijbehorende omgevingsinformatie voordat deze door de ingangsapplicatie kan worden herkend.
Bereid de volgende services voor voordat u met de implementatie begint:
Redis
Database
De ingangsapplicatie fungeert als het centrale beheercentrum en is verantwoordelijk voor het maken, starten en stoppen van applicaties, de planning van omgevingen en de toegangsproxy voor applicaties.
Toelichting op de omgevingsvariabelen van de ingangsapplicatie:
De werkapplicatie dient als de eigenlijke runtime-omgeving voor de bedrijfsvoering en is verantwoordelijk voor het hosten en uitvoeren van specifieke NocoBase-applicatie-instanties.
Toelichting op de omgevingsvariabelen van de werkapplicatie:
Het volgende voorbeeld toont een hybride implementatieoplossing met meerdere omgevingen waarbij Docker-containers als runtime-eenheden worden gebruikt. Via Docker Compose worden gelijktijdig één ingangsapplicatie en twee werkapplicaties geïmplementeerd.
De basisbeheerbewerkingen voor applicaties zijn hetzelfde als in de gedeelde geheugenmodus; raadpleeg hiervoor Gedeelde geheugenmodus. Dit gedeelte introduceert voornamelijk de inhoud die verband houdt met de configuratie van meerdere omgevingen.
Ga na de implementatie naar de pagina "App Supervisor" van de ingangsapplicatie. Op het tabblad "Omgevingen" kunt u de lijst met geregistreerde werkomgevingen bekijken. Dit omvat informatie zoals de omgevingsidentificatie, de versie van de werkapplicatie, de toegangs-URL en de status. Werkapplicaties rapporteren elke 2 minuten een heartbeat om de beschikbaarheid van de omgeving te garanderen.

Bij het maken van een applicatie kunt u één of meerdere runtime-omgevingen selecteren om aan te geven op welke werkapplicaties deze applicatie zal worden geïmplementeerd. In de meeste gevallen wordt aanbevolen om slechts één omgeving te selecteren. Kies alleen meerdere omgevingen wanneer er service-splitting is toegepast op de werkapplicatie en dezelfde applicatie in meerdere runtime-omgevingen moet worden geïmplementeerd voor lastverdeling of isolatie van functionaliteiten.

De applicatielijstpagina toont de huidige runtime-omgeving en statusinformatie voor elke applicatie. Als een applicatie in meerdere omgevingen is geïmplementeerd, worden er meerdere runtime-statussen weergegeven. Onder normale omstandigheden behoudt dezelfde applicatie in meerdere omgevingen een uniforme status en moet het starten en stoppen centraal worden beheerd.

Omdat er bij het starten van een applicatie initialisatiegegevens naar de database kunnen worden geschreven, worden applicaties die in meerdere omgevingen zijn geïmplementeerd na elkaar (in een wachtrij) gestart om race-conditions te voorkomen.

Werkapplicaties kunnen via een proxy worden benaderd via het subpad /apps/:appName/admin van de ingangsapplicatie.

Als een applicatie in meerdere omgevingen is geïmplementeerd, moet u een doelomgeving voor de proxy-toegang opgeven.

Standaard gebruikt het proxy-toegangsadres het toegangsadres van de werkapplicatie, wat overeenkomt met de omgevingsvariabele ENVIRONMENT_URL. U moet ervoor zorgen dat dit adres toegankelijk is binnen de netwerkomgeving waar de ingangsapplicatie zich bevindt. Als u een ander proxy-toegangsadres wilt gebruiken, kunt u dit overschrijven via de omgevingsvariabele ENVIRONMENT_PROXY_URL.