Integrando um Cluster HyperServer

Provavelmente a melhor maneira de adicionar capacidade de WebSockets a um cluster HyperServer é conectá-lo a um servidor WebSockets dedicado. Se você tem um cluster e deseja adicionar suporte a WebSockets às suas aplicações, o caminho mais fácil é Using a Dedicated WebSockets Server e configurar seu cluster para usá-lo. Essa abordagem funciona independentemente do método de implantação do HyperServer (por exemplo, quando HyperServer é implantado como um módulo ISAPI).

Você precisa fazer algumas alterações no arquivo CFG relacionado do seu HyperServer. Se seu cluster for uma farm de servidores, faça essas alterações somente no arquivo CFG do master HyperServer.

Se você abrir o arquivo CFG verá uma seção chamada websockets com vários parâmetros:

hyperserver.cfg
[websockets]

enabled=1
aux_port=0
max_queue_length=1000
binding=
global_binding=socket.fmsoft.net
global_port=0
external_server_url=http://socket.fmsoft.net
external_server_token=vwuczx230317155031443
app_domain=testapplication

Você deve configurar os mesmos parâmetros que são descritos em Testing the Dedicated Server.

Parâmetros

  • external_server_url Esta é a URL para a qual os comandos são encaminhados no servidor WebSockets. Pode ser uma URL local acessível através do seu cluster ou, preferencialmente, uma URL acessível globalmente.

  • external_server_token A string de token que é definida e disponível no arquivo CFG do seu HyperServer WebSockets dedicado. Deve ser definida para que apenas aplicações autorizadas possam encaminhar comandos ao servidor dedicado.

  • global_binding Um domínio visível para a web global. Esse domínio é usado para estabelecer conexões WebSocket. Muitas vezes pode ser o mesmo domínio que external_server_url. No exemplo acima socket.fmsoft.net é usado para ambas as configurações.

  • app_domain Opcional. Configure isto apenas se mais de um cluster ou múltiplas aplicações standalone irão conectar-se ao mesmo servidor WebSockets dedicado. Esse parâmetro ajuda a evitar confusão quando o mesmo nome de aplicação existe em clusters diferentes ou quando a mesma aplicação standalone é implantada várias vezes mas conecta-se ao mesmo servidor WebSockets. Defina um nome único para distinguir entre aplicações. Se apenas um cluster conecta-se ao servidor WebSockets dedicado, você pode deixar este parâmetro em branco.

circle-info

Nota: Ao usar WebSockets com um cluster HyperServer, todas as instâncias HyperServer e a aplicação Node devem ser compiladas com o build 1566 ou posterior. Muitas das funcionalidades de WebSockets estão disponíveis somente no build 1566+.

Links relacionados:

  • Using a Dedicated WebSockets Server: https://unigui.com/doc/online_help/using-a-dedicated-websockets-s.htm

  • Testing the Dedicated Server: https://unigui.com/doc/online_help/testing-the-dedicated-server.htm