Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 2 Próxima »

Balanceamento entre Smart Client desktop e servidor Protheus

Neste caso um servidor Protheus é configurado como proxy entre um Smart Client desktop e um servidor Protheus rodando o ERP. Além do servidor Protheus que funciona como proxy é necessária a utilização de um utilitário adicional chamado "Totvs Broker Client", que funciona como forwarding proxy ao qual o Smart Client se conecta. O Totvs Broker Client é utilizado como uma biblioteca, atendendo ao Smart Client cujo binário está localizado na mesma pasta onde está localizada esta biblioteca. (Obs.: Smart Client "desktop" refere-se ao Smart Client usado como uma aplicação normal do sistema, e não ao Smart Client acessado através de uma página web no navegador de internet.) É importante notar que o servidor Protheus configurado como proxy terá apenas esta função, isto é, não será usado para rodar o ERP. Informalmente, chamamos o proxy Protheus como "broker server" e o aplicativo Totvs Broker Client como "broker client", e estes serão os termos utilizados neste documento.

Uma característica interessante deste caso é que a conexão entre o cliente e o servidor se torna mais resiliente, isto é, resistente a pequenas interrupções. Isto é conseguido porque tanto o broker server (Protheus utilizado como proxy) como o broker client (Totvs Broker Client) fazem um cache das últimas mensagens de comunicação trocadas entre si. Quando a conexão é perdida o broker client continua tentando por algum tempo retomar a conexão com o broker server. Após a retomada da conexão, se houve alguma mensagem perdida em qualquer direção ela é reenviada, e a comunicação continua ocorrendo normalmente, sem que o Smart Client ou o ERP Protheus percebam que houve queda na comunicação.
Outro ponto interessante é que esta solução pode ser utilizada mesmo quando o Smart Client esteja se comunicando com o Protheus ERP através de uma conexão segura (SSL), porque tanto o broker client quanto o broker server não examinam o conteúdo das mensagens que passam por eles.

Importante: Nunca deve se configurar o Protheus Master como uma das estações (servidores Protheus ERP) que irão receber conexões pelo Broker, pois o seu mecanismo de balanceamento é excludente ao do Broker.

Quando se utiliza o proxy client são necessários 2 arquivos de configuração, um para o Smart Client e um para o broker server: smartclient.ini (Smart Client) e appserver.ini (broker server Protheus). No arquivo de configuração do Protheus ERP não existe alteração.

Num exemplo hipotético, vamos supor que o Protheus ERP esteja atendendo nos endereços 172.16.50.42:5000172.16.50.42:5001 e 172.16.50.42:5002, o broker server esteja atendendo no endereço 172.16.50.42:4000.

Note que os servidores Protheus ERP e o broker server Protheus estão na mesma máquina. É uma configuração típica, mas não existe restrição alguma por parte do broker client ou do broker server que eles estejam na mesma máquina.


Abaixo, um exemplo de configuração possível para este cenário:

appserver.ini
[GENERAL]
CONSOLELOG=1

[BALANCE_SMART_CLIENT_DESKTOP]

; porta onde este broker server atende pedidos de conexão dos broker clients
LOCAL_SERVER_PORT = 4000

; hostname ou endereço ip, e porta TCP dos servidores Protheus ERP que serão destino
; das conexões vindas dos broker clients
REMOTE_SERVER_01 = 172.16.50.42 5000
REMOTE_SERVER_02 = 172.16.50.42 5001
REMOTE_SERVER_03 = 172.16.50.42 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

; nome do serviço, pode ser qualquer nome que não contenha espaços
; só tem importância se o broker server for instalado como um serviço Window
SERVICE_NAME = XXX_TOTVS_BALANCE_SC_001

; (opcional, disponível a partir de 01/dez/2017)
; "display name" do serviço Windows
SERVICE_DISPLAY_NAME = "BROKER SERVICE" 


O broker client é utilizado como uma biblioteca não é necessário um arquivo de configuração específico. Uma seção no arquivo de configuração do Smart Client (smartclient.ini) deve indicar o hostname ou endereço IP do broker server, porta do broker server, e a opção "BrokerProxy=1"

smartclient.ini
; ------------------------

[config]
lastmainprog=...
envserver=...

; outras configurações

; ---------------------

[sem_broker]
; para conexão direta do Smart Client com um ERP específico,
; ou usando o esquema de Protheus Master e Protheus Slave
server=...
port=...

; ---------------------

[com_broker]

; para conexão Smart Client com o ERP via broker client
; rodando na mesma máquina do Smart Client

; máquina onde o *broker server* está rodando
server=172.16.50.42

; porta onde o *broker server* está atendendo
port=4000

; importante!!!
BrokerProxy = 1

; ---------------------

[drivers]
; opção ativa: conexão via proxy
active=com_broker

; ------------------------
; obs.: os nomes "com_broker" e "sem_broker" não possuem qualquer
; significado intrínseco, qualquer nome poderia ser utilizado,
; por exemplo "AAA" e "BBB"
; ------------------------

Obs. No SmartClient é necessário ter a biblioteca totvsbrokercg para a conexão resiliente com o Broker Server.

Biblioteca para Windows 32 bits: totvsbrokercg-2.1.11b1

Biblioteca para Linux 32 bits: libtotvsbrokercg-2.1.11b1


  • Sem rótulos