Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Balanceamento entre Clientes HTTP e servidor

...

Inclusão de trecho
Application Server
Application Server
nopaneltrue

Este broker é utilizado para balanceamento de aplicações web que necessitam de controle de sessão. Tipicamente usado com Como por exemplo o portal Protheus e o SmartClient HTML/WebApp.

Este broker não é voltado para aplicações web stateless, como por exemplo web services. Especificamente, este broker não funciona para balancear consumo de web services fornecidos pelo application server

Inclusão de trecho
Application Server
Application Server
nopaneltrue
em uso com o ERP Protheus. Para este caso de uso utilizar o Broker para Web Services.

...

Bloco de código
languagetext
firstline1
titleappserver.ini
linenumberstrue
[GENERAL]
; configuracao recomendada para gravacao de log
ConsoleLog=1
AsyncConsoleLog = 0
ConsoleLogDate = 0

[BALANCE_HTTP]

; porta que atende o Client HTTP
LOCAL_SERVER_PORT = 4000

; hostname ou endereço ip, e porta TCP onde os servidores ProtheusApplication Server ERP aceitam conexões HTTP
REMOTE_SERVER_01 = 172.16.106.31 5001
REMOTE_SERVER_02 = 172.16.106.31 5002
; etc
; esta chave aceita letras e números para identificar servidores,
; por exemplo REMOTE_SERVER_0A, REMOTE_SERVER_XY, etc, e as chaves
; podem estar em qualquer ordem
  
; tempo de retenção de uma sessão inativa, em segundos
; obs. não se aplica ao smartclient html
SESSION_TIMEOUT = 600

; nome do serviço Windows, caso seja utilizado
; (não pode conter espaços)
SERVICE_NAME = TOTVS_BROKER_SH_XYZ

; opcional: "display name" do serviço Windows
SERVICE_DISPLAY_NAME = "BROKER SERVICE"

Importante: Quando o SmartClient HTML/WebApp é utilizado com o broker, o controle de tempo de inatividade continua sendo feito normalmente pelo Protheus através da chave InactiveTImeout no arquivo de configuração appserver.ini do Protheus (http://tdn.totvs.com/x/e4pc). Além disso, é necessário configurar a chave WebSocket = 0 na seção WebApp do arquivo de configuração appserver.ini do ERPa aplicação client deve tratar explicitamente o cookie de afinidade TOTVS_BROKER_SH_001 enviado pelo broker.
Quando o broker recebe um request HTTP sem este cookie, o broker envia a seguinte resposta para o client, para criação do cookie:
          para POST:           "window.location.reload"
          outros (GET, etc) : "window.location.href = window.location.href"

Portanto, é essencial que para uma aplicação web client utilizar o Broker HTTP este cenário seja considerado.
Normalmente esta consideração se refere a cenários não browser-based, por exemplo, aplicações client escritas em client em Java, Python, C#, etc.
Eventualmente mesmo aplicações JavaScript browser-based podem precisar de algum tratamento específico quando utilizadas com este broker.
Tudo depende de como a aplicação client é escrita.