MicroStrategy ONE
Considérations sur l'équilibreur de charge et la mise en cluster pour Library et Collaboration Server
Lors du déploiement de MicroStrategy Library dans un environnement à charge équilibrée, plusieurs points importants doivent être pris en compte :
- MicroStrategy Collaboration Service peut être mis en cluster à la fois horizontalement et verticalement. Voir Clusteriser MicroStrategy Collaboration Server pour obtenir des instructions.
Le service peut être déployé derrière un équilibreur de charge, mais il s'appuie sur une instance de serveur Redis pour assurer une distribution appropriée des messages sur toutes les instances. L'équilibreur de charge doit utiliser des « sessions persistantes » pour garantir que les clients sont dirigés vers l'instance qui a établi la session initiale. L'équilibreur de charge doit également prendre en charge le protocole Web Socket (wss :), qui repose sur le protocole de mise à niveau HTTP 1.1.
VoirTopologie de déploiement pour plus d'informations sur la configuration Redis.
- Les applications MicroStrategy Web et Library Server peuvent être mises en cluster derrière un équilibreur de charge avec n'importe quel nombre d'instances. Cependant, l'équilibreur de charge doit utiliser des « sessions persistantes » pour garantir que les clients sont dirigés vers l'instance qui a établi la session initiale.
- Lors du déploiement d'un cluster de serveurs MicroStrategy Library, les serveurs Collaboration Server doivent être configurés pour pointer vers l'équilibreur de charge Web, au lieu d'une instance spécifique, afin d'utiliser entièrement le cluster.
- Pour exploiter entièrement un cluster de serveurs MicroStrategy Collaboration, le serveur MicroStrategy Library Server doit être configuré pour pointer vers l'équilibreur de charge Web, au lieu d'une instance spécifique.
-
Étant donné que les navigateurs Web et les applications mobiles s'y connectent directement, le port du serveur MicroStrategy Collaboration (par défaut
:3000
) doit être accessible et ouvert via l'équilibreur de charge.Le port Collaboration Server peut être modifié par rapport à la valeur par défaut en le spécifiant dans la
config.json
fichier. - Étant donné que les navigateurs Web et les applications mobiles s'y connectent directement, le serveur MicroStrategy Library (par défaut
:8443
) doit être accessible et ouvert via l'équilibreur de charge.
Topologie de déploiement
Dans le diagramme, il y a un équilibreur de charge unique avec un nom DNS externe, loadbalancer.acme.com
qui est utilisé pour la configuration Library Server et Collaboration Server :
- Library Server
configOverrides.properties
Le fichier utilise ce nom dansservices.collaboration.baseURL
propriété, comme dans :https://loadbalancer.acme.com:3000
. - Collaboration Server
config.json
Le fichier utilise ce nom dansauthorizationServerUrl
propriété, comme dans :https://loadbalancer.acme.com:8443/MicroStrategyLibrary/api
.
Dans cette configuration, Collaboration Server indique l'extensibilité horizontale en définissant deux propriétés dans config.json
fichier :
"scaling": "horizontal"
"redisServerUrl": "redis://sharedmachine.acme.com:6379"
Dans le diagramme, il existe une machine partagée utilisée par chacune des instances derrière l'équilibreur de charge. Sur cette machine, on retrouve deux services essentiels :
- Serveur PostgreSQL - version 4.0.0 ou supérieure.
- Serveur Redis - version 4.0.0 ou supérieure.
Dans cet environnement, les deux services partagés - PostgreSQL Server et Redis Server - peuvent eux-mêmes être répliqués. Dans ce cas, vous devez indiquer l'URL correcte dans la config.json
propriétés du fichier :
"dburl": "<PostgreSQL URL>"
"redisServerUrl" : "<Redis URL>"
Utilisation du serveur de collaboration en dehors d'un environnement à charge équilibrée
Le serveur de collaboration peut être exécuté en dehors d'un environnement à charge équilibrée, sur une seule machine. Pour configurer Collaboration Server afin qu'elle s'exécute sans aucune forme d'extensibilité, définissez "scaling": "none"
.
Collaboration Server peut également exécuter plusieurs processus sur la même machine avec une mise à l'échelle verticale en définissant les paramètres suivants config.json
champs :
"scaling": "vertical"
"cpus": "<number of worker processes to launch>"