MicroStrategy ONE
Considerazioni su Load Balancer e clustering per Library e Collaboration Server
Quando si distribuisce MicroStrategy Library in un ambiente con bilanciamento del carico, è necessario tenere in considerazione diversi punti:
- MicroStrategy Collaboration Service può essere raggruppato sia orizzontalmente che verticalmente. Vedere MicroStrategy Collaboration Server nel cluster per istruzioni.
Il servizio può essere distribuito dietro uno strumento di bilanciamento del carico, ma si basa su un'istanza del server Redis per garantire una distribuzione corretta dei messaggi tra tutte le varie istanze. Il sistema di bilanciamento del carico deve utilizzare "sessioni permanenti" per garantire che i client vengano indirizzati all'istanza che ha stabilito la sessione iniziale. Il sistema di bilanciamento del carico dovrebbe supportare anche il protocollo Web Socket (wss:), che si basa sul protocollo di aggiornamento HTTP 1.1.
VedereTopologia di distribuzione per ulteriori informazioni sulla configurazione di Redis.
- Le applicazioni server di MicroStrategy Web e Library possono essere raggruppate dietro uno strumento di bilanciamento del carico con un numero qualsiasi di istanze. Tuttavia, il sistema di bilanciamento del carico deve utilizzare "sessioni permanenti" per garantire che i client vengano indirizzati all'istanza che ha stabilito la sessione iniziale.
- Quando si distribuisce un cluster di server MicroStrategy Library, i server di collaborazione devono essere configurati in modo che puntino al servizio di bilanciamento del carico Web, anziché a un'istanza specifica, per utilizzare appieno il cluster.
- Per utilizzare appieno un cluster di server MicroStrategy Collaboration, il server MicroStrategy Library deve essere configurato in modo che punti al servizio di bilanciamento del carico Web, anziché a un'istanza specifica.
-
Poiché si collegano direttamente sia i browser Web sia le app per dispositivi mobili, la porta del server MicroStrategy Collaboration (impostazione predefinita
:3000
) deve essere accessibile e aperto tramite lo strumento di bilanciamento del carico.È possibile modificare la porta del server di collaborazione rispetto al valore predefinito specificandola in
config.json
file. - Poiché sia i browser Web sia le app per dispositivi mobili si collegano direttamente al server, il server MicroStrategy Library (impostazione predefinita
:8443
) deve essere accessibile e aperto tramite lo strumento di bilanciamento del carico.
Topologia di distribuzione
Nel diagramma è presente un singolo strumento di bilanciamento del carico con un nome DNS esterno loadbalancer.acme.com
utilizzato sia per la configurazione del Server Library che del Server di collaborazione:
- Il server Library
configOverrides.properties
utilizza questo nome inservices.collaboration.baseURL
proprietà, come in:https://loadbalancer.acme.com:3000
. - Il Server di collaborazione
config.json
utilizza questo nome inauthorizationServerUrl
proprietà, come in:https://loadbalancer.acme.com:8443/MicroStrategyLibrary/api
.
In questa configurazione, il Server di collaborazione specifica il ridimensionamento orizzontale impostando due proprietà in config.json
file:
"scaling": "horizontal"
"redisServerUrl": "redis://sharedmachine.acme.com:6379"
Nel diagramma è presente una macchina condivisa utilizzata da ciascuna delle istanze dietro il sistema di bilanciamento del carico. Su questa macchina sono presenti due servizi essenziali:
- PostgreSQL Server - versione 4.0.0 o successiva.
- Server Redis: versione 4.0.0 o successiva.
In questo ambiente, entrambi i servizi condivisi, PostgreSQL Server e Redis Server, possono essere replicati. In questo caso, è necessario specificare l'URL corretto in config.json
proprietà del file:
"dburl": "<PostgreSQL URL>"
"redisServerUrl" : "<Redis URL>"
Utilizzo del server di collaborazione al di fuori di un ambiente con bilanciamento del carico
Il server di collaborazione può essere eseguito al di fuori di un ambiente con bilanciamento del carico, su una singola macchina. Per configurare il Server di collaborazione per l'esecuzione senza alcuna forma di scalabilità, impostare "scaling": "none"
.
Il Server di collaborazione può anche eseguire più processi sullo stesso computer con ridimensionamento verticale impostando quanto segue config.json
campi:
"scaling": "vertical"
"cpus": "<number of worker processes to launch>"