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:

  1. 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.

  2. 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.
  3. 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.
  4. 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.
  5. 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.

  6. 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 in services.collaboration.baseURL proprietà, come in: https://loadbalancer.acme.com:3000.
  • Il Server di collaborazione config.json utilizza questo nome in authorizationServerUrl 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>"