Permite configurar mais de um serviço do ERP para balanceamento de carga via software.

Para isso, deve-se informar os servidores disponíveis na rede para realizar a(s) conexão(ões). Além disso, para cada servidor disponível, é necessário criar uma nova seção, no arquivo de configuração (appserver.ini), do TOTVS | Application Server, e informar o tipo de conexão (TCP), porta, nome do servidor e/ou IP e o número máximo de conexões permitidas para o servidor enumerado.

Exemplo

[ServerNetwork]
Servers=SERVER1,SERVER2 

[SERVER1]
TYPE=TCPIP
Server=Servidor1
Port=1024
Connections=60

[SERVER2]
TYPE=TCPIP
Server=Servidor2
Port=3024
Connections=40

Considerações sobre o balanceamento de carga

Ao configurar um serviço para balanceamento de carga, nomeamos de Master ou Balance. Os demais servidores, que compõem a lista de servidores para balanceamento, especificados na chave SERVERS, são chamados de Slaves.

Importante

Recomendamos que o serviço, criado para balanceamento de carga, seja exclusivo para o balanceamento e, por exemplo, não aponte para ele mesmo como um Slave para execução de programas e/ou processamento.

Quando configuramos um serviço para balanceamento de carga, devemos configurar os serviços "Slave" do ERP com os mesmos ambientes configurados no serviço de balanceamento, onde cada ambiente de mesmo nome fará uso compartilhado do mesmo rootpath. Para isto ser possível, deve-se compartilhar a pasta raiz do ambiente no servidor onde os arquivos estão, e todas as configurações de rootpath que acessam estes arquivos devem apontar para o caminho de rede deste compartilhamento, inclusive os serviços que estão na própria máquina onde estão estes arquivos. O compartilhamento no servidor criado para o rootpath deve ser acessado pelos serviços Slave com direitos "FULL " sobre a pasta, subpastas e seu conteúdo. Adicionalmente, deve ser utilizado uma RDD para controle dos arquivos locais com arquitetura client-server, como um ADS Server (para plataformas Windows) ou c-tree Server (Para Windows e/ou Linux) . Para plataformas Unix/Linux, existem etapas adicionais, como a configuração de um serviço de LockServer,  e o compartilhamento de rede para acesso aos arquivos deve ser feito via NFS, onde os servidores "Slave" que acessam o rootpath via NFS devem mapear este path com o mesmo caminho da máquina onde os arquivos estão fisicamente.

Informações adicionais


  • Número de conexões
    O número máximo de conexões permitidas (CONNECTIONS), informado para cada servidor da lista, originalmente não é um fator limitante do número de conexões, mas sim um número base para distribuição. Dessa forma, sugerimos que configurado o número máximo de conexões estimadas de usuários que o equipamento suporte, para distribuir melhor a carga do ambiente.
    Por exemplo, na configuração citada acima, 60% das conexões serão direcionadas para o Slave 1 e 40% direcionadas para o Slave 2. No entanto, essa configuração não limitará o ambiente a 100 conexões.
    A partir do release 7.00.111010P, foi criada uma nova configuração, chamada BALANCELIMIT, que uma vez habilitada, torna o número de conexões especificado como um fator limitante para balanceamento. Para maiores informações, verifique a Nota de Release
  • Número de serviços ERP recomendável por Servidor
    A princípio, uma máquina dedicada a comportar serviços do ERP configurados como "Slaves" pode ter mais de um serviço dedicado do ERP no mesmo equipamento. Isto é recomendável que seja feito, desde que exista memória suficiente no equipamento para suportar a carga projetada, E, o servidor em questão possua mais de um processador ou núcleo (core) de processamento, E o número de serviços do ERP configurados na máquina não ultrapasse o número de cores e/ou núcleos de processamento da máquina. O uso de mais de um serviço, mesmo que na mesma máquina, melhora a escalabilidade, robustez de processo, e utiliza de forma mais produtiva a capacidade de processamento do equipamento.
  • Conexão via SSL - Secure Sockets Layer
    A conexão via SSL entre o TOTVS | SmartClient e o TOTVS | Application Server não era suportada na plataforma anterior (em builds iguais ou inferiores a 7.00.080307A). Nesta plataforma, é possível realizar a configuração segura (SSL) para os servidores Slaves e Master/Balance. Para mais informações referente as configurações do SSL, no ERP, consulte a documentação da seção [SSLConfigure].
    Inicialmente, deve-se habilitar a conexão segura (SSL) no serviço Slave do ERP. De modo que, cada serviço Slave terá uma porta de conexão TCP e uma porta de conexão segura SSL. No entanto, ao configurar as seções dos servidores Slaves, especificados na seção [ServerNetwork], chave SERVERS, é necessário informar a porta de conexão segura de cada Slave, através da chave SecurePort.
    Observe, no exemplo abaixo, a configuração de dois serviços Slave em máquinas distintas, onde cada um dos serviços possui a porta TCP 5024 aberta e a porta de conexão segura (SSL) 6024.
    Neste exemplo, configuramos o TOTVS | SmartClient para conectar na porta TCP do serviço Master/Balance, que distribuirá essa conexão para um dos Slaves configurados, na porta SSL especificada. Mesmo que o TOTVS | SmartClient não tenha sido configurado, explicitamente, para uso de conexão segura, quando o TOTVS | Application Server redirecionar a conexão para um Slave com SSL, o TOTVS | Application Server garante que a conexão estabelecida será segura. Por isso, não existe a necessidade explícita de configurar também o SSL no servidor Master/Balance.

    [ServerNetwork]
    Servers=SERVER1,SERVER2
    
    [SERVER1]
    TYPE=TCPIP
    Server=Servidor1
    Port=5024
    SecurePort=6024 
    Connections=60
    
    [SERVER2]
    TYPE=TCPIP
    Server=Servidor2
    Port=5024
    SecurePort=6024
    Connections=60

    No entanto, se o TOTVS | SmartClient for configurado para realizar diretamente e apenas conexões seguras, via SSL, deve-se habiltar o SSL no servidor Master/Balance e a conexão configurada no TOTVS | SmartClient deve apontar para a porta SSL do servidor Master e não a porta TCP.

  • Conexões e Portas TCP e SSL
    Para o balanceamento de carga, ao configurar os servidores, deve-se especificar a porta TCP do Slave, na chave Port, e a porta de conexão segura, na chave SecurePort. O servidor Master/Balance estabelecerá uma conexão TCP com cada um dos Slaves, para controle de distribuição e monitoramento.
    Limitação do conteúdo da chave "SERVERS": Existe uma limitação de caracteres por chave, no arquivo de configuração (totvsappserver.ini), de 254 bytes. Ao configurar a chave Servers, da seção [ServerNetwork], com os nomes das seções de configuração dos serviços Slaves, caso a quantidade de caracteres utilizados ultrapassasse 254 bytes, apenas os primeiros 254 bytes são considerados. Desta forma, nem todas a seções especificadas eram consideradas. Em builds anteriores a 7.00.081215P, deve-se usar nomes mais curtos para identificar cada serviço slave envolvido na balanceamento, para especificar a lista de serviços em apenas uma linha, sem exceder o limite de 254 bytes por linha. Para builds iguais ou superiores a 7.00.081215P, é possível criar chaves adicionais em sequência (servers1, servers2, servers...n ) para continuar a lista de serviços.  Veja detalhes adicionais na nota de release

Nessa seção