Strategy ONE
Überlegungen zum Lastenausgleichsmodul und zur Clusterbildung für Library und Collaboration Server
Bei der Bereitstellung von MicroStrategy Library in einer Umgebung mit Lastenausgleich sind mehrere wichtige Punkte zu beachten:
- Der MicroStrategy Collaboration Service kann sowohl horizontal als auch vertikal geclustert werden. Siehe Clustern Sie den MicroStrategy Collaboration Server für Anweisungen.
Der Dienst kann hinter einem Lastenausgleichsmodul bereitgestellt werden, ist jedoch auf eine Redis-Server-Instanz angewiesen, um die ordnungsgemäße Nachrichtenverteilung über die verschiedenen Instanzen hinweg sicherzustellen. Der Lastenausgleich muss „Sticky Sessions“ verwenden, um sicherzustellen, dass die Clients zu der Instanz weitergeleitet werden, die die ursprüngliche Sitzung hergestellt hat. Der Load Balancer sollte auch das Web Socket-Protokoll (wss:) unterstützen, das auf dem HTTP 1.1 Upgrade-Protokoll basiert.
SieheBereitstellungstopologie für weitere Informationen über die Redis-Konfiguration.
- Die MicroStrategy Web- und Library-Server-Anwendungen können hinter einem Lastenausgleichsmodul mit beliebig vielen Instanzen geclustert werden. Der Load Balancer muss jedoch „Sticky Sessions“ verwenden, um sicherzustellen, dass die Clients zu der Instanz weitergeleitet werden, die die ursprüngliche Sitzung hergestellt hat.
- Bei der Bereitstellung eines Clusters von MicroStrategy Library-Servern sollten die Collaboration-Server so konfiguriert sein, dass sie auf den Web-Lastausgleichsmodul verweisen und nicht auf eine bestimmte Instanz, um das Cluster vollständig zu nutzen.
- Um ein Cluster von MicroStrategy Collaboration-Servern vollumfänglich zu nutzen, sollte der MicroStrategy Library-Server so konfiguriert sein, dass er auf den Web-Lastausgleichsmodul verweist und nicht auf eine bestimmte Instanz.
-
Da sowohl Webbrowser als auch mobile Apps eine direkte Verbindung damit herstellen, wird der MicroStrategy Collaboration-Server-Port (standard
:3000
) muss über den Lastenausgleichsmodul zugänglich und geöffnet sein.Der Standardwert für den Collaboration-Server-Port kann durch Angabe in geändert werden
config.json
Datei. - Da sowohl Webbrowser als auch mobile Apps eine direkte Verbindung damit herstellen, wird der MicroStrategy-Library-Server (standard
:8443
) muss über den Lastenausgleichsmodul zugänglich und geöffnet sein.
Bereitstellungstopologie
Im Diagramm sehen Sie einen einzelnen Lastenausgleichsmodul mit einem externen DNS-Namen: loadbalancer.acme.com
die sowohl für die Library-Server- als auch für die Collaboration-Server-Konfiguration verwendet wird:
- Der Library-Server
configOverrides.properties
-Datei verwendet diesen Namen inservices.collaboration.baseURL
-Eigenschaft, wie in:https://loadbalancer.acme.com:3000
. - Der Collaboration-Server
config.json
-Datei verwendet diesen Namen inauthorizationServerUrl
-Eigenschaft, wie in:https://loadbalancer.acme.com:8443/MicroStrategyLibrary/api
.
In dieser Konfiguration gibt der Collaboration Server die horizontale Skalierung durch das Festlegen von zwei Eigenschaften in an config.json
Datei:
"scaling": "horizontal"
"redisServerUrl": "redis://sharedmachine.acme.com:6379"
Im Diagramm gibt es eine gemeinsam genutzte Maschine, die von jeder der Instanzen hinter dem Load Balancer verwendet wird. Auf dieser Maschine gibt es zwei wesentliche Dienste:
- PostgreSQL Server – Version 4.0.0 oder höher.
- Redis-Server – Version 4.0.0 oder höher.
In dieser Umgebung können beide gemeinsam genutzten Dienste – PostgreSQL Server und Redis Server – selbst repliziert werden. In diesem Fall müssen Sie die richtige URL in angeben config.json
Dateieigenschaften:
"dburl": "<PostgreSQL URL>"
"redisServerUrl" : "<Redis URL>"
Verwenden des Collaboration-Servers außerhalb einer Umgebung mit Lastenausgleich
Der Collaboration-Server kann außerhalb einer Umgebung mit Lastenausgleich auf einer einzelnen Maschine ausgeführt werden. Um den Collaboration Server für die Ausführung ohne Skalierung zu konfigurieren, legen Sie fest "scaling": "none"
.
Der Collaboration-Server kann auch mehrere Prozesse auf demselben Computer mit vertikaler Skalierung ausführen, indem Sie die folgenden Einstellungen vornehmen config.json
Felder:
"scaling": "vertical"
"cpus": "<number of worker processes to launch>"