Il componente TsgcWebSocketLoadBalancerServer è stato migliorato per la versione 2024.3.0 di sgcWebSockets. Ora supporta il protocollo HTTP, in precedenza supportava solo WebSocket, e ha un paio di nuovi eventi per affinare le richieste HTTP. Il server Load Balancer ora discende da TsgcWebSocketHTTPServer, quindi eredita tutti i metodi e le proprietà di questo.
Configurazione del server Load
Il server Load Balancer è un discendente di TsgcWebSocketHTTPServer, quindi leggi la documentazione su TsgcWebSocketHTTPServer per sapere come configurarlo.
In aggiunta, il Load Balancer ha la proprietà LoadBalancer, che ha le seguenti proprietà:
- LoadBalancing: configura qui come distribuire le connessioni
- lbRandom: (predefinito) ogni volta che un nuovo client richiede una nuova connessione, restituirà un server casuale.
- lbConnections: ogni volta che un nuovo client richiede una nuova connessione, restituirà il server con meno client connessi.
- Protocols: configura quali protocolli sono abilitati
- WebSocket: se true, le connessioni websocket saranno gestite dal server Load Balancer.
- HTTP: se true, le connessioni http saranno gestite dal server Load Balancer.
Configurazione dei server di backup
I server di backup (i server dietro il load balancer) possono essere un TsgcWebSocketServer, TsgcWebSocketHTTPServer o un server DataSnap.
Questi server hanno una proprietà chiamata LoadBalancer dove puoi configurare la connessione tra il server LoadBalancer e i server di backup.
- Enabled: imposta a true se vuoi usarlo come server di backup.
- Host: l'host dove si trova il LoadBalancer.
- Port: la porta di ascolto del LoadBalancer.
- Guid: id univoco che identifica questo server.
- Bindings: gli indirizzi pubblici accessibili dove verranno inoltrate le connessioni. Esempio: se il server WebSocket di backup è in ascolto sulla porta 8000 e l'indirizzo ip è 1.1.1.1, usa il seguente: ws://1.1.1.1:8000;
- AutoRegisterBindings: se abilitato, il server LoadBalancer userà la proprietà Bindings del server di backup per configurare i binding pubblici.
- AutoRestart: in secondi, se maggiore di zero, il client load balancer del server di backup abiliterà un watchdog interno che ogni x secondi controlla se la connessione è viva, se è chiusa, proverà a riconnettersi.
Esempio
Di seguito un link per scaricare una demo compilata per Windows che mostra come configurare un server di Load Balancing che inoltra le richieste HTTP in modo casuale a 3 server.
