Page tree
Skip to end of metadata
Go to start of metadata

O broker embarcado no application server Protheus 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.

Não é possível adicionar novos servidores na tabela de balanceamento do broker. Apenas servidores definidos no arquivo de configuração (appserver.ini) do broker podem ser desabilitados e posteriormente habilitados.

O procedimento para desabilitar/habilitar um servidor é feito através da 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 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: desabilita ou habilita.

O formato do comando é simples. Para desabilitar um servidor, o comando é "disable server ip:port". Para habilitar um servidor o comando é "enable server ip:port".
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" ou
    "enable server 10.172.36.130:9000".
Qualquer texto que vier após "ip:port" e antes do final da linha será ignorado.
Não deve haver linhas em branco entre as linhas de comando.
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, o comando para desabilitar/habilitar necessita usar o endereço ip numérico.

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. versões do slaves e broker
servers: versão 13.2.13.48
broker: versão 17.3.0.16

para este procedimento, o que importa é a versão do broker

2. arquivo ini

; 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

3. tela de consulta da situação inicial
4. arquivo .TOTVS_BROKER_COMMAND para desabilitar servidores
   disable server 127.0.0.1:49162
disable server 127.0.0.1:49163
5. 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'
6. tela de consulta após desabilitar servidores: notar os servidores marcados com "x"

7. arquivo .TOTVS_BROKER_COMMAND para reabilitar servidores

  enable server 127.0.0.1:49162
enable server 127.0.0.1:49163
8. 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'

9. tela de consulta após reabilitar servidores

** fim exemplo **
  • No labels