Modos de Operação do Cluster
Pode haver diferentes modos de operação em uma fazenda de servidores HyperServer. Cada modo tem seus próprios prós e contras. Existem três modos diferentes nos quais você pode configurar seus nós escravos.
Pass Through (hcmPassThrough)
Modo 0 ou modo Pass Through é o modo de operação padrão. Neste modo, todas as requisições passam pelos instâncias mestre do HyperServer. O HyperServer mestre será o único ponto de entrada para toda a sua fazenda de servidores. Todas as requisições serão aceitas pelo HyperServer mestre e distribuídas internamente para os respectivos Slave Nodes. Isso inclui todas as requisições de entrada, incluindo requisições HTTP, requisições Ajax e requisições de arquivos. O HyperServer mestre se comunica com seus próprios Nodes (se houverem) e com os ServerNodes. Cada ServerNode também se comunica com seus próprios Nodes.
As diretrizes em Setting up a HyperServer Server Farm criam uma fazenda de servidores HyperServer em modo Pass Through.
Prós:
Você só precisa ter uma URL pública que é o ponto de entrada para sua fazenda de servidores. Essa URL pública redireciona todas as requisições para o HyperServer mestre. Você não precisa expor os ServerNodes à internet pública.
Configurar uma fazenda de servidores em modo Pass Through é mais fácil e rápido.
Mais fácil de manter
Arquivos de runtime do uniGUI só podem ser instalados no HyperServer mestre.
Contras:
O desempenho pode degradar quando há muitas requisições concorrentes de entrada e existem muitos Nodes na fazenda de servidores.
Direct (hcmDirect)
Nesse modo, o HyperServer mestre se comunica diretamente com os Nodes pertencentes aos ServerNodes escravos. Assim, cada ServerNode criará seus próprios Nodes, mas é o HyperServer mestre que se comunicará diretamente com eles. Todo o tráfego de entrada é redirecionado para todos os Nodes na fazenda de servidores através do HyperServer mestre. Neste modo, a principal função dos ServerNodes escravos é criar e manter Nodes locais e repassá-los ao HyperServer mestre.
(Este modo ainda não está implementado)
Url Redirect (hcmUrlRedirect)
Neste modo, ServerNodes que estão configurados com cluster_mode=2 servirão todas as requisições respectivas diretamente — ou seja, as requisições não passarão pelo servidor mestre.
Quando uma nova requisição de sessão é recebida pelo HyperServer mestre, ele decidirá qual ServerNode deve atender essa requisição. Se o ServerNode estiver configurado como Mode 2, então a URL de entrada será redirecionada para esse ServerNode.
Exemplo:
Considere que seu cluster consiste em três servidores. Um HyperServer mestre localizado na URL http://myserver.com e dois ServerNodes com URLs públicas http://server1.myserver.com e http://server2.myserver.com.
Quando uma nova requisição de sessão é recebida pelo HyperServer mestre, com base no mecanismo de balanceamento de carga um dos ServerNodes é selecionado e uma solicitação de redirecionamento de URL é enviada de volta ao navegador. O navegador redirecionará a URL para o novo servidor, que é um dos ServerNodes no exemplo acima. Assim, a nova sessão começará em http://server1.myserver.com ou em http://server2.myserver.com.
Requisição inicial ---> http://myserver.com ---> Load Balancer
---> http://server1.myserver.com
---> http://server2.myserver.com
---> http://serverx.myserver.com
Esse mecanismo de redirecionamento aliviará o servidor mestre do processamento das requisições subsequentes das sessões como ocorreria no Modo-0.
Como funciona o redirecionamento?
Quando um HyperServer mestre recebe uma nova requisição de um cliente, ele tentará encontrar um ServerNode com base em um algoritmo interno de balanceamento de carga. Se o ServerNode estiver configurado como Mode-2 então, em vez de enviar a requisição diretamente, uma nova URL é criada e o cliente é redirecionado para essa nova URL. Essa nova URL é a URL pública do ServerNode.
Considere que o ponto de entrada para seu mestre é: http://localhost/webapp/hyper.dll
e você tem um escravo configurado como Mode-2 com a URL pública: http://localhost/webapp/server-0/hyper.dll

Após pressionar enter, a página é redirecionada para uma nova URL que é a URL pública do seu ServerNode. Você também pode observar que alguns parâmetros adicionais são adicionados à URL. Explicaremos o significado desses parâmetros mais adiante.

Devo preferir Mode-2 em vez do Mode-0?
A resposta é sim se você tem um cluster grande com muitos ServerNodes e desempenho é sua preocupação principal. Você pode decidir melhor analisando os prós e contras deste modo abaixo:
Prós:
Melhor escalabilidade comparada ao Mode-0. O tráfego de entrada é redirecionado para os ServerNodes relacionados, então não haverá degradação de desempenho quando houver um pico intenso de requisições de entrada.
Contras:
Cada ServerNode deve estar acessível pela internet com uma URL pública.
Arquivos de runtime do uniGUI devem ser instalados e atualizados em cada ServerNode.
Etapas adicionais são necessárias para completar a configuração.
Nota: Mode-2 foi introduzido no uniGUI 1.90.0 build 1557.