Componente TsgcWebSocketLoadBalancerServer.
O componente TsgcWebSocketLoadBalancerServer permite que você faça o balanceamento de carga dos protocolos WebSocket e HTTP . Para o protocolo WebSocket, ele distribui as mensagens entre um grupo de servidores e distribui as conexões de clientes usando uma sequência aleatória ou um algoritmo de menos conexões.
O Load Balancer Server herda todos os métodos e propriedades do TsgcWebSocketHTTPServer.
Load Balancer Configuration
O servidor Load Balancer é descendente de TsgcWebSocketHTTPServer, então leia a documentação sobre o TsgcWebSocketHTTPServer para saber como configurá-lo.
Além disso, o Load Balancer possui a propriedade LoadBalancer, que tem as seguintes propriedades:
- LoadBalancing: configure aqui como distribuir as conexões
- lbRandom: (padrão) toda vez que um novo cliente solicita uma conexão, retornará um servidor aleatório.
- lbConnections: toda vez que um novo cliente solicita uma conexão, retornará o servidor com o menor número de clientes conectados.
- Protocols: configure quais protocolos estão habilitados
- WebSocket: se true, as conexões websocket serão tratadas pelo Load Balancer Server.
- HTTP: se true, as conexões http serão tratadas pelo Load Balancer Server.
Configuração do Servidor de Backup
Os Backup Servers (os servidores atrás do balanceador de carga) podem ser um TsgcWebSocketServer, TsgcWebSocketHTTPServer ou um Datasnap Server.
Esses servidores têm uma propriedade chamada LoadBalancer onde você pode configurar a conexão entre o LoadBalancer Server e os Servidores de Backup.
- Enabled: defina como true se você quiser usar como um servidor de backup.
- Host: o host onde o LoadBalancer está localizado.
- Port: a porta de escuta do LoadBalancer.
- Guid: id único que identifica este servidor.
- Bindings: os endereços públicos para onde as conexões serão encaminhadas. Exemplo: se o servidor WebSocket de Backup está escutando na porta 8000 e o endereço IP é 1.1.1.1, utilize o seguinte: ws://1.1.1.1:8000;
- AutoRegisterBindings: se habilitado, o LoadBalancer Server usará a propriedade Bindings do servidor de backup para configurar os bindings públicos.
- AutoRestart: em segundos; se maior que zero, o cliente do load balancer do servidor de backup habilitará um watchdog interno que, a cada x segundos, verificará se a conexão está ativa; se estiver fechada, tentará reconectar.