Árvore de páginas

O Broker embarcado no Application Server Protheus/Logix a partir da versão 17.3.0.16 permite que se desabilite administrativamente servidores que estejam configurados na tabela de balanceamento do Broker. Isto é, o Broker não envia novas conexões pra um servidor que foi desabilitado.

Os servidores que forem desabilitados poderão posteriormente serem habilitados novamente.

A partir da versão 20.3.1.8 também é possível adicionar ou remover servidores a serem balanceados, e alterar/incluir/remover configurações no Scheduler dos servidores. (Sobre o Scheduler verificar a página Scheduler - Habilitar ou desabilitar serviços da tabela de balanceamento). Não é necessário reiniciar o Broker, as alterações se tornam efetivas aproximadamente 1 minuto após terem sido feitas.

O procedimento para fazer estas alterações dinâmicas envolve a criação de um arquivo de comandos no diretório onde está localizado o binário do Broker.
O Broker verifica uma vez por minuto a existência desse arquivo, e caso esse arquivo exista, executa os comandos existentes no arquivo. Imediatamente em seguida o Broker remove o arquivo de comandos.
Cada comando corresponde a uma linha no arquivo. Cada comando efetua apenas uma ação sobre um servidor.

Os comandos possíveis de serem executados são os seguintes:

  1. disable server ip:porta
  2. enable server ip:porta
  3. add server ip:porta
  4. remove server ip:porta
  5. schedule server ip:porta schedule
  6. unschedule server
  7. reschedule server

Nos dois casos "ip:port" se referem ao endereço ip numérico e à porta do servidor configurados no broker, por exemplo:
    "disable server 10.172.36.130:9000"

Atenção

  • No ambiente Windows, use um editor que respeite o padrão Windows de quebra de linha, como o notepad ou o notepad++. Não reutilize um arquivo que foi criado no ambiente Linux.
  • Mesmo que o servidor esteja configurado por nome no broker, os comandos precisam usar o endereço ip numérico.

Observações

  1. A partir da versão 20.3.0.0 é possível agendar uma ou mais faixas de horário e dias da semana em que um determinado serviço estará habilitado para balanceamento. Veja a página Scheduler - Habilitar ou desabilitar serviços da tabela de balanceamento para mais detalhes.
  2. A partir da versão 20.3.0.5 um serviço que for desabilitado/habilitado por alteração dinãmica na tabela de balanceamento será retirado do controle do scheduler descrito no item 1 acima.
    Para retornar o serviço ao controle do scheduler foi criado o comando "reschedule", no mesmo formato dos comandos "disable" e "enable" descritos acima


Procedimento

O procedimento recomendado é o seguinte:
1.  criar um novo arquivo com um nome temporário qualquer (por exemplo "tmp", "broker_cmd", "enable", "disable", etc). Pode ser via linha de comando, ou ambiente gráfico, editor de texto, etc.
2. incluir os comandos desejados no arquivo, através do editor de texto.
3. renomear o arquivo temporário para .TOTVS_BROKER_COMMAND, que é o nome que o broker reconhece; o nome precisa começar com "." (um ponto), e no Linux precisa estar em maiúsculas.
Após o arquivo .TOTVS_BROKER_COMMAND ser criado, num intervalo de tempo de até 1 minuto o broker vai ler o arquivo, executar os comandos, e remover o arquivo.
O broker grava no log o resultado do processamento dos comandos.

Exemplo

1. arquivo ini do broker

; servidores para serem balanceados
REMOTE_SERVER_01 = 127.0.0.1 49161
REMOTE_SERVER_02 = 127.0.0.1 49162
REMOTE_SERVER_03 = 127.0.0.1 49163
REMOTE_SERVER_04 = 127.0.0.1 49164

2. tela de consulta da situação inicial
3. arquivo .TOTVS_BROKER_COMMAND para desabilitar servidores
   disable server 127.0.0.1:49162
disable server 127.0.0.1:49163
4. log da execução do comando
191122_160232 1A64 BSC0203 W encontrou comando 'disable server 127.0.0.1:49162' no arquivo de comandos
191122_160232 1A64 BSC0211 W ok, desabilitou server '127.0.0.1:49162'
191122_160232 1A64 BSC0203 W encontrou comando 'disable server 127.0.0.1:49163' no arquivo de comandos
191122_160232 1A64 BSC0211 W ok, desabilitou server '127.0.0.1:49163'
5. tela de consulta após desabilitar servidores: notar os servidores marcados com "x"

6. arquivo .TOTVS_BROKER_COMMAND para reabilitar servidores

  enable server 127.0.0.1:49162
enable server 127.0.0.1:49163
7. log da execução do comando
191122_162433 1A64 BSC0243 W encontrou comando 'enable server 127.0.0.1:49162' no arquivo de comandos
191122_162433 1A64 BSC0251 W ok, habilitou server '127.0.0.1:49162'
191122_162433 1A64 BSC0243 W encontrou comando 'enable server 127.0.0.1:49163' no arquivo de comandos
191122_162433 1A64 BSC0251 W ok, habilitou server '127.0.0.1:49163'

8. tela de consulta após reabilitar servidores

** fim exemplo **

Informações sobre os comandos que podem ser utilizados
  1. disable server ip:porta
    este comando torna o servidor especificado por ip:porta não elegível para o balanceamento
    isto é, novas conexões que chegarem no broker não vão ser redirecionadas para este servidor
    se este servidor tem um scheduler ativo, este scheduler não é perdido, mas se torna inativo (ver item 7 abaixo)

  2. enable server ip:porta
    este comando torna o servidor especificado por ip:porta novamente elegível para o balanceamento
    se este servidor tem um scheduler ativo, este scheduler não é perdido, mas se torna inativo (ver item 7 abaixo))

  3. add server ip:porta
    este comando inclui um novo servidor, identificado por ip:porta, nas tabelas de balanceamento do broker
    isto é, este comando tem o mesmo efeito de incluir um novo servidor no arquivo de configuração appserver.ini e reiniciar o broker
    notar que o arquivo de configuração appserver.ini não é modificado

  4. remove server ip:porta
    este comando remove um servidor, identificado por ip:porta, das tabelas de balanceamento do broker
    isto é, este comando tem o mesmo efeito de remover um servidor no arquivo de configuração appserver.ini e reiniciar o broker
    notar que o arquivo de configuração appserver.ini não é modificado

  5. schedule server ip:porta schedule
    este comando cria um scheduler para o servidor, identificado por ip:porta
    se já existia um scheduler para o servidor, o scheduler anterior é substituído pelo scheduler deste comando
    este comando tem o mesmo efeito de incluir/modificar um scheduler para um servidor no arquivo de configuração appserver.ini e reiniciar o broker
    notar que o arquivo de configuração appserver.ini não é modificado
    exemplo de comando: "schedule server 127.0.0.1:12341 08:00 18:00 23456 08:00 12:00 17"
    neste exemplo o servidor está "enabled" das 08:00 às 18:00 de segunda a sexta, e das 08:00 `as 12:00 aos sábados e domingos

  6. unschedule server ip:porta
    este comando retira o scheduler do servidor ip:porta, se existia
    tem o mesmo efeito de retirar o scheduler de um servidor no arquivo de configuração appserver.ini e reiniciar o broker
    notar que o arquivo de configuração appserver.ini não é modificado

  7. reschedule server
    este comando restaura o scheduler de um servidor para o qual foi feito um enable ou disable
    funcionamento: supondo que um servidor tem um scheduler ativo, e depois foi usado um comando "enable" ou "disable" (itens 1 ou 2)
    o servidor fica em enable (ou disable), e o scheduler fica inativo (mas continua configurado)
    o comando "reschedule" reativa o scheduler deste servidor


==/==




  • Sem rótulos