Die Komponente TsgcWebSocketLoadBalancerServer wurde für die Version sgcWebSockets 2024.3.0 verbessert. Sie unterstützt jetzt das HTTP-Protokoll (zuvor wurden nur WebSockets unterstützt) und verfügt über einige neue Ereignisse zur Feinabstimmung der HTTP-Anfragen. Der Load Balancer Server stammt nun vom TsgcWebSocketHTTPServer ab und erbt damit alle dessen Methoden und Eigenschaften.
Load Server-Konfiguration
Der Load Balancer Server ist ein Nachfolger von TsgcWebSocketHTTPServer; lies daher die Dokumentation zum TsgcWebSocketHTTPServer, um zu erfahren, wie er konfiguriert wird.
Zusätzlich verfügt der Load Balancer über die Eigenschaft LoadBalancer, die folgende Eigenschaften enthält:
- LoadBalancing: hier konfigurierst du, wie die Verbindungen verteilt werden
- lbRandom: (Standard) jedes Mal, wenn ein neuer Client eine neue Verbindung anfordert, wird ein zufälliger Server zurückgegeben.
- lbConnections: jedes Mal, wenn ein neuer Client eine neue Verbindung anfordert, wird der Server mit den wenigsten verbundenen Clients zurückgegeben.
- Protocols: konfiguriert, welche Protokolle aktiviert sind
- WebSocket: wenn true, werden die WebSocket-Verbindungen vom Load Balancer Server verarbeitet.
- HTTP: wenn true, werden die HTTP-Verbindungen vom Load Balancer Server verarbeitet.
Backup-Server-Konfiguration
Die Backup-Server (die Server hinter dem Load Balancer) können ein TsgcWebSocketServer, TsgcWebSocketHTTPServer oder ein DataSnap Server sein.
Diese Server verfügen über eine Eigenschaft namens LoadBalancer , in der du die Verbindung zwischen dem LoadBalancer Server und den Backup-Servern konfigurieren kannst.
- Enabled: auf true setzen, wenn der Server als Backup-Server dienen soll.
- Host: der Host, auf dem sich der LoadBalancer befindet.
- Port: der Lauschport des LoadBalancer.
- Guid: eindeutige ID, die diesen Server identifiziert.
- Bindings: die öffentlich erreichbaren Adressen, an die die Verbindungen weitergeleitet werden. Beispiel: wenn der Backup-WebSocket-Server auf Port 8000 lauscht und die IP-Adresse 1.1.1.1 ist, verwende Folgendes: ws://1.1.1.1:8000;
- AutoRegisterBindings: wenn aktiviert, verwendet der LoadBalancer Server die Bindings-Eigenschaft des Backup-Servers, um die öffentlichen Bindings zu konfigurieren.
- AutoRestart: in Sekunden; wenn größer als Null, aktiviert der Load-Balancer-Client des Backup-Servers einen internen Watchdog, der alle x Sekunden prüft, ob die Verbindung aktiv ist, und sich bei Verbindungsabbruch erneut zu verbinden versucht.
Beispiel
Unten findest du einen Link zum Herunterladen einer kompilierten Windows-Demo, die zeigt, wie ein Load Balancing Server eingerichtet wird, der HTTP-Anfragen zufällig an 3 Server weiterleitet.
