The component TsgcWebSocketLoadBalancerServer został ulepszony w wersji sgcWebSockets 2024.3.0. Teraz obsługuje protokół HTTP (wcześniej tylko WebSockets) i ma kilka nowych zdarzeń do precyzyjnego dostrajania żądań HTTP. Serwer Load Balancer dziedziczy teraz po TsgcWebSocketHTTPServer, więc dziedziczy wszystkie jego metody i właściwości.
Konfiguracja serwera Load Balancer
The Load Balancer jest potomkiem TsgcWebSocketHTTPServer, więc zapoznaj się z dokumentacją dotyczącą TsgcWebSocketHTTPServer, aby dowiedzieć się, jak go skonfigurować.
Additionally, the Load Balancer ma właściwość LoadBalancer z następującymi właściwościami:
- LoadBalancing: skonfiguruj tutaj sposób dystrybucji połączeń
- lbRandom: (domyślnie) za każdym razem, gdy nowy klient żąda połączenia, zwracany jest losowy serwer.
- lbConnections: za każdym razem, gdy nowy klient żąda połączenia, zwracany jest serwer z mniejszą liczbą podłączonych klientów.
- Protocols: skonfiguruj, które protokoły są włączone
- WebSocket: if true, the websocket połączenia będą obsługiwane przez serwer Load Balancer.
- HTTP: if true, the http połączenia będą obsługiwane przez serwer Load Balancer.
Konfiguracja serwera zapasowego
Serwery zapasowe (serwery za load balancerem) mogą być TsgcWebSocketServer, TsgcWebSocketHTTPServer or a DataSnap Server.
Serwery te mają właściwość LoadBalancer, w której możesz skonfigurować połączenie między serwerem LoadBalancer a serwerami zapasowymi.
- Enabled: ustaw na true, jeśli chcesz używać jako serwer zapasowy.
- Host: host, na którym znajduje się LoadBalancer.
- Port: port nasłuchiwania LoadBalancer.
- Guid: unikalny identyfikator tego serwera.
- Bindings: dostępne publiczne adresy, do których będą przekierowywane połączenia. Przykład: jeśli zapasowy serwer WebSocket nasłuchuje na porcie 8000 a adres ip to 1.1.1.1, użyj: ws://1.1.1.1:8000;
- AutoRegisterBindings: jeśli włączone, serwer LoadBalancer użyje właściwości Bindings serwera zapasowego do konfiguracji publicznych powiązań.
- AutoRestart: w sekundach — jeśli większe od zera, klient load balancera serwera zapasowego włączy wewnętrzny watchdog, który co x sekund sprawdza, czy połączenie jest aktywne; jeśli jest zamknięte, próbuje ponownie się połączyć.
Przykład
Poniżej znajdziesz link do pobrania skompilowanego dema dla Windows, które pokazuje jak uruchomić serwer Load Balancing przekierowujący żądania HTTP losowo do 3 serwerów.
