Páginas filhas
  • Balanceamento de carga com Totvs Broker para requisições HTTP Rest - LGX

Versões comparadas

Chave

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

...

O TOTVS | Application Server pode ser utilizado como um proxy transparente de balanceamento para acionamento de requisições API REST a um TOTVS | Application Server, usando um serviço TOTVS Broker, para equilibrar a quantidade de requisições API REST que uma aplicação Web ou Serviço externo possa vir a solicitar para o Logix.

Um exemplo prático onde isso pode ser bem útil é a execução de uma aplicação Aplicação Web Logix onde a tela pode ser composta por informações onde cada uma pode ser resultado de uma requisição API REST enviada para o AppServer Logix.
Imagine então se uma tela faz 15 ou 20 requisições simultâneas para preencher os dados em tela. Isso tende a sobrecarregar o Appserver, caso apenas um único serviço de AppServer venha a receber todas estas 15 a 20 requisições API REST. Com isso a melhor alteranativa é fazer com que estas 15 a 20 requisições sejam distribuidas de forma inteligente para um grupo de AppServers Logix, com indicação de apenas um endereço HOST e PORT fixo do AppServer TOTVS Broker para balanceamento de serviços Webservices para a porta do serviço HTTP REST, que faz o redirecionamento das requisições API REST para um grupo de AppServers Logix que tenham o serviço HTTP REST ativo em todos eles, gerenciando a quantidade de requisições HTTP REST de forma equilibrada, evitando assim a sobrecarga e consequentemente melhorando a performance do produto.

...

Lembrando que, mesmo que o produto Logix ainda esteja utilizando AppServer 32 bits, o serviço do TOTVS Broker pode ser utilizado na arquitetura 64 bits, pois não apresenta conflitos para gerenciar requisições para AppServer com arquitetura 32 bits. O TOTVS Broker funciona como um serviço de proxy, redirecionando requisições entre serviços.

As configurações de um AppServer Broker são mais simples do que um AppServer que processa os dados para o produto Logix.

De forma resumida, para cada tipo protocolo de serviço que desejar configurar um balanceamento de carga usando o TOTVS Broker, você deverá ter:

  • 2 ou mais AppServers com o protocolo do serviço HTTP REST devidamente disponibilizado para uso.
  • 1 AppServer principal que será o Broker para gerenciar as requisições para os serviços dos demais AppServers que farão parte do balanceamento de carga, que podemos chamar de serviços AppServers "Escravos".

...

Agora veja como é feita a configuração no AppSever Broker que irá administrar as requisições para os dois AppServers apresentados acima:


Expandir
titleClique AQUI para visualizar como configurar o arquivo AppServer.ini do APPSERVER BROKER HTTP REST
Bloco de código
languagecss
themeRDark
linenumberstrue
[GENERAL]
CONSOLELOG=1
ConsoleLogDate=0

[BALANCE_WEB_SERVICES]
; Porta onde este broker server atende pedidos de conexão dos broker appservers 
LOCAL_SERVER_PORT = 9130
; Chave REMOTE_SERVER_?? = [Hostname ou endereço IP] [Porta TCP appserver] [Número de conexões]
; Lista dos Appserver de destino das conexões vindas dos broker clients.
; O sufixo da chave (??) aceita letras e números para identificar os servidores. A ordem em que
; os appservers são registrados é livre.
; Por exemplo: REMOTE_SERVER_0A, REMOTE_SERVER_XY, etc.
REMOTE_SERVER_01 = [HOSTNAME] 9131
REMOTE_SERVER_02 = [HOSTNAME] 9132
SESSION_TIMEOUT = 600
; Chave SERVICE_NAME = [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 no Windows
SERVICE_NAME = TOTVS_BROKER_APPSERVER_REST

; Chave SERVICE_DISPLAY_NAME (opcional)
; Descrição do serviço (Display Name) para exibição na lista de Serviços do Windows.
SERVICE_DISPLAY_NAME = "TOTVS BROKER HTTP REST"

SORT_METHOD = ROUND_ROBIN

; Tempo em segundos que o Totvs Server Broker armazena informações sobre uma conexão perdida,
; para possibilitar a retomada da conexão pelo broker server. 90 segundos é o tempo máximo,
; pois o Totvstec, por padrão, derruba qualquer conexão que fique sem atividade após este intervalo.
STANDBY_TIME = 90
  

...

Nota
titleATENÇÃO

As configurações acima apenas é uma sugestão de uso, sendo que algumas chaves adicionais podem ser informadas e o valor de chaves podem ser alteradas, conforme houver necessidade.  Para mais detalhes sobre configurações para o TOTVS Broker acessse:

...

Após configurados os serviços AppServers REST "Escravos" e o AppServer Broker REST, basta iniciar todos serviços e fazer com que as requisições REST utilizem a URL base do REST com o número da porta REST configurada no appserver REST Broker para que as requisições sejam automaticamente redirecionadas para os AppServers REST "Escravos"..


Qualquer requisição de API Rest enviada para o Logix pode ser direcionada para a URL Base REST considerando o número da porta REST configurada no AppServer REST Broker.

Já para Para a execução das Aplicações WEB Logix, como  como a exemplo da aplicação GTR10000, será necessário configurar configurar no arquivo de profile Profile do Logix a seguinte chave para que todas requisições API REST realizadas a partir das Aplicações WEB Logix sejam direcionadas para o AppServer REST Broker que  que irá então realizar a devida distribuição das requisições API REST respeitando as configurações indicadas para o Totvs AppServer REST Broker em relação a lista dos AppServers "Escravos" e a forma configurada para realizar a distribuição de processos.

...


(informação) O [HOSTNAME] deve ser o nome ou IP do servidor onde foi disponibilizado o serviço do AppServer Broker para atender o balanceamento de carga de requisições API REST.



PARABÉNS! (grande sorriso) Agora você já pode executar as aplicações WEB Logix com mais tranquilidade e rapidez.

Mas calma, caso você não tenha configurado ainda os serviços do AppServer dos AppServers para permitir executar as telas das aplicações Web Logix, clique AQUI e siga todas orientações. 

Em caso de dificuldades ou problemas para configurar ou executar os procedimentos acima, faça abertura de um ticket na página de suporte da Totvs para o time de atendimento do Framework Logix, enviando as seguintes informações:

  • Resumo do problema
  • Arquivos de LOG/DEBUG do problema
  • Versões de builds TOTVS Client e TOTVS Server em uso
  • Arquivos de configuração .INI dos AppServers envolvidos, indicando 
  • Informações sobre o sistema operacional utilizado no servidor de aplicação e também na maquina local do usuário.

...