MicroStrategy ONE

Considerações sobre balanceador de carga e clustering para Library e servidor de colaboração

Ao implantar MicroStrategy Library em um ambiente com carga balanceada, há vários pontos importantes a serem considerados:

  1. O MicroStrategy O Collaboration Service pode ser agrupado horizontalmente e verticalmente. Ver Agrupe o MicroStrategy Servidor de colaboração para obter instruções.

    O serviço pode ser implantado atrás de um balanceador de carga, mas depende de uma instância de servidor Redis para garantir a distribuição adequada de mensagens em todas as diversas instâncias. O balanceador de carga deve utilizar "sessões fixas" para garantir que os clientes sejam direcionados para a instância que estabeleceu a sessão inicial. O balanceador de carga também deve oferecer suporte ao protocolo Web Socket (wss:), que depende do protocolo HTTP 1.1 Upgrade.

    VerTopologia de implantação para obter mais informações sobre a configuração do Redis.

  2. O MicroStrategy Web e Library os aplicativos de servidor podem ser agrupados em cluster atrás de um balanceador de carga com qualquer número de instâncias. No entanto, o balanceador de carga deve utilizar “sessões fixas” para garantir que os clientes sejam direcionados para a instância que estabeleceu a sessão inicial.
  3. Ao implantar um cluster de MicroStrategy Library servidores, os servidores de colaboração devem ser configurados para apontar para o balanceador de carga da Web, em vez de uma instância específica, para utilizar totalmente o cluster.
  4. Para utilizar plenamente um cluster de MicroStrategy Servidores de colaboração, o MicroStrategy Library O servidor deve ser configurado para apontar para o balanceador de carga da Web, em vez de uma instância específica.
  5. Como os navegadores da web e os aplicativos móveis se conectarão diretamente a ele, o MicroStrategy Porta do servidor de colaboração (padrão :3000) deve estar acessível e aberto por meio do balanceador de carga.

    A porta do servidor de colaboração pode ser alterada do valor padrão especificando-a no campo config.json arquivo.

  6. Como os navegadores da web e os aplicativos móveis se conectarão diretamente a ele, o MicroStrategy Library servidor (padrão :8443) deve estar acessível e aberto por meio do balanceador de carga.

Topologia de implantação

No diagrama, há um único balanceador de carga com um nome DNS externo, loadbalancer.acme.com que é usado para ambos Library configuração do servidor e do servidor de colaboração:

  • O Library servidor configOverrides.properties arquivo usa esse nome no services.collaboration.baseURL propriedade, como em: https://loadbalancer.acme.com:3000.
  • O servidor de colaboração config.json arquivo usa esse nome no authorizationServerUrl propriedade, como em: https://loadbalancer.acme.com:8443/MicroStrategyLibrary/api.

Nesta configuração, o Collaboration Server especifica o dimensionamento horizontal definindo duas propriedades no arquivo config.json arquivo:

  • "scaling": "horizontal"
  • "redisServerUrl": "redis://sharedmachine.acme.com:6379"

No diagrama, há uma máquina compartilhada usada por cada uma das instâncias por trás do balanceador de carga. Nesta máquina, existem dois serviços essenciais:

  • Servidor PostgreSQL - versão 4.0.0 ou superior.
  • Servidor Redis - versão 4.0.0 ou superior.

Neste ambiente, ambos os serviços compartilhados - PostgreSQL Server e Redis Server - podem ser replicados. Neste caso, você deve especificar o URL correto no campo config.json propriedades do arquivo:

  • "dburl": "<PostgreSQL URL>"
  • "redisServerUrl" : "<Redis URL>"

Usando o Collaboration Server fora de um ambiente com balanceamento de carga

O servidor Collaboration pode ser executado fora de um ambiente com balanceamento de carga, em uma única máquina. Para configurar o servidor Collaboration para ser executado sem qualquer forma de escalabilidade, defina "scaling": "none".

O Collaboration Server também pode executar vários processos na mesma máquina com escalabilidade vertical, definindo o seguinte config.json Campos:

  • "scaling": "vertical"
  • "cpus": "<number of worker processes to launch>"