fbpx

Balanceamento de carga com Broker Protheus: guia prático e passo a passo

Se você administra infraestrutura TOTVS ou trabalha com Protheus, entender o Broker Protheus é essencial para garantir conexões estáveis, reduzir retrabalhos e melhorar a performance do ERP. Aqui explico o conceito, comparo com a arquitetura antiga (Load Balance) com o Broker e apresento um passo a passo prático de configuração, incluindo dicas para evitar os erros mais comuns.

O que é balanceamento de carga e por que o Broker Protheus importa

O balanceamento de carga distribui acessos entre servidores de aplicação para assegurar que cada conexão caia no servidor com mais recursos disponíveis. A implementação tradicional chamada Load Balance fazia apenas a distribuição das conexões. O Broker Protheus vai além: ele gerencia conexões, tenta reconectar automaticamente por um período (90 segundos) e facilita o uso dos web smartclient, entregando maior robustez e menos perda de trabalho em caso de instabilidade na rede.

Comparativo rápido

  • Load Balance: distribuição simples de conexões entre master e slaves. Sem tentativa automática de reconexão. Arquitetura antiga e descontinuada.
  • Broker Protheus: distribuição + gerenciamento de conexões. Tentativa de reconexão por 90 segundos. Melhora a experiência com web smart clients.
Página de status TOTVS Broker em https://localhost:4000 mostrando servidores e consumo de CPU
Página de status do Broker mostrando URL (porta 4000) e painel com servidores e consumo.

Visão prática: estrutura e arquivos do Broker

Na instalação típica você terá:

  • Um app-server configurado como broker (porta padrão usada neste exemplo: 4000).
  • Dois ou mais app-servers configurados como slaves (Exemplo: Portas TCP 4001 e 4002).
  • Webapp de cada slave com portas exclusivas (exemplo: 4323 e 4324).
Janela do explorador exibindo a pasta 'appserver' selecionada dentro de C:\TOTVS\Protheus\Protheus\bin

Passo a passo de configuração

  1. Cópia dos binários e renomeação

    Faça duas cópias do appserver e renomeie as pastas para algo claro, por exemplo: app-server_broker, app-server_slave_1, app-server_slave_2.

    Explorador mostrando pastas appserver_broker e appserver_Slave_1 após renomeação
    Cópias do appserver criadas e renomeadas para broker e slave.
  2. Definir portas TCP e webapp

    Edite o appserver.ini de cada slave e defina portas distintas. Exemplo usado aqui:

    • Broker: 4000
    • Slave 1: TCP 4001, webapp 4323
    • Slave 2: TCP 4002, webapp 4324
    Trecho do appserver.ini com Port=4001 e App_Environment destacado, seta indicando a porta
    Mostrando Port=4001 no appserver.ini — defina a porta TCP do slave aqui.
  3. Certificados SSL (opcional, recomendado)

    Se for usar TLS, gere um certificado autoassinado e aponte os caminhos no appserver.ini. Atenção: ao colar o caminho do arquivo, remova as aspas que o sistema adiciona automaticamente, caso contrário a leitura falhará.

    Conteúdo da pasta Certificado mostrando totvs_certificate.crt e totvs_certificate_key.pem
    Arquivos de certificado (crt e key) e utilitário exibidos — prontos para apontar no appserver.ini.
  4. Configurar o appserver.ini do broker

    Substitua o conteúdo do appserver.ini pelo template de balance HTTP, caso utilize alguma segurança adicione as chaves relacionadas ao SSL:

    • [GENERAL]
       
    • ConsoleLog=1
       
    • ConsoleLogDate=0
    • [BALANCE_HTTP]
       
    • LOCAL_SERVER_PORT = 4000
       
    • REMOTE_SERVER_01  = localhost 4001
       
    • REMOTE_SERVER_02  = localhost 4002
    • SSL_encrypt_upstream = 1
    • SSL_method = SSL/TLS
    • SSL_certificate = caminho/do/certificado
    • SSL_key = caminho/da/chave
    Arquivo appserver.ini exibindo a seção [BALANCE_HTTP], com LOCAL_SERVER_PORT = 4000 e entradas REMOTE_SERVER_01/02.
    Template BALANCE_HTTP com porta do broker e servidores remotos configurados.
  5. Criar atalhos para rodar em console

    Crie atalhos do appserver.exe para cada papel. No atalho do broker inclua o serviço de balanceamento como argumento, por exemplo:

    • -balance_http -d
    Menu de contexto com submenu 'Enviar para' e opção 'Área de trabalho (criar atalho)' destacada por setas vermelhas
    Criando o atalho: use ‘Enviar para → Área de trabalho (criar atalho)’ — passo mostrado com setas.
  6. Ordem de inicialização

    Preferencialmente inicie: License, DB Access, Slaves e por último o Broker. Assim o Broker consegue detectar os slaves ao subir.

Como verificar se está funcionando

Para checar o status do Broker Protheus e os recursos consumidos por cada app-server, acesse:

https://localhost:4000/totvs_broker_query/status

Página de status TOTVS Broker em https://localhost:4000 mostrando servidores e consumo de CPU
Página de status do Broker mostrando URL (porta 4000) e painel com servidores e consumo.

A página exibe servidores registrados, quantidade de usuários, trends e consumo de CPU. Realize um login via web smart client apontando para a porta do broker (4000). O Broker fará o redirecionamento para um dos slaves (por exemplo 4001) e a sessão aparecerá no status.

Tabela do Broker com seta indicando a coluna de Sessões e o servidor 127.0.0.1:4001
Coluna ‘Sessões’ destacada (seta vermelha) indicando qual slave recebeu a sessão do Broker.

Checklist rápido antes de subir o ambiente

  • Portas definidas e sem conflito com outros serviços.
  • Caminho do certificado corretamente referenciado e sem aspas.
  • Atalhos configurados com os argumentos corretos (-console, -dp balance_http etc).
  • Firewall e regras de rede liberando comunicação entre broker e slaves.
  • Logs habilitados para facilitar diagnóstico.

Soluções para problemas comuns

  • Broker não encontra slaves: verifique se os slaves estão rodando e se a porta TCP configurada está correta.
  • Erro ao ler certificado: confirme o caminho e remova aspas; garanta permissões de leitura.
  • Conexões caem frequentemente: confira latência de rede, recursos da máquina e ajuste o balance de carga se necessário.

Considerações Finais

O Broker Protheus representa a evolução natural para ambientes Protheus que precisam de estabilidade, resiliência e melhor gerenciamento de sessões. Com configurações simples de portas, appserver.ini e certificados, é possível reduzir retrabalhos e garantir uma experiência melhor para os usuários do ERP. Seguindo os passos e checklist acima você terá um ambiente de balanceamento de carga funcional e monitorável.

Este este artigo foi uma breve explicação sobre balanceamento de carga no TOTVS Protheus, para conferir o processo completo de forma prática sugerimos que assista o vídeo no início da página.

Cursos

Se você está buscando se tornar um desenvolvedor completo no Protheus, dominar REST, PO-UI e as demais tecnologias relacionadas ao Protheus, não fique de fora da nossa turma de alunos, clique aqui para mais detalhes.

Sobre nós:

A RFB Sistemas é uma consultoria e escola há mais de 15 anos no mercado e já atuamos em diferentes setores e portes de empresas ajudando a implantar a melhor solução para gerenciar os seus negócios, o que possibilita que sua empresa consiga tomar decisões mais rápidas, assertivas e claro otimizando resultados. Além disso já capacitamos mais de 1.600 profissionais a utilizarem as ferramentas, como: TOTVS Protheus e RM, Microsoft Power BI e Excel.

TOTVS PROTHEUS

COMBO DESENVOLVEDOR COMPLETO

R$ 2.603,16

R$ 1.822,21

á vista ou

12x R$ 188,46

plugins premium WordPress