组件 TsgcWebSocketLoadBalancerServer 允许您对 WebSocket 和 HTTP 协议进行负载均衡。对于 WebSocket 协议,它将消息分发到一组服务器,并使用随机序列或最少连接算法分配客户端连接。
负载均衡服务器继承了 TsgcWebSocketHTTPServer 的所有方法和属性。
负载均衡器配置
负载均衡器服务器是 TsgcWebSocketHTTPServer 的后代,因此请阅读 TsgcWebSocketHTTPServer 的文档以了解如何配置它。
此外,负载均衡器具有 LoadBalancer 属性,该属性包含以下子属性:
- LoadBalancing:在此配置如何分发连接
- lbRandom:(默认)每次新客户端请求连接时,返回一个随机服务器。
- lbConnections:每次新客户端请求连接时,返回已连接客户端最少的服务器。
- 协议:配置启用哪些协议
- WebSocket:若为 true,WebSocket 连接将由负载均衡服务器处理。
- HTTP:若为 true,HTTP 连接将由负载均衡服务器处理。
备用服务器配置
备份服务器(负载均衡器后端服务器)可以是 TsgcWebSocketServer、TsgcWebSocketHTTPServer 或 Datasnap 服务器。
这些服务器有一个名为 LoadBalancer 的属性,您可以在其中配置负载均衡服务器与备用服务器之间的连接。
- Enabled:若要将其用作备份服务器,请设置为 true。
- Host: LoadBalancer 所在的主机。
- Port:LoadBalancer 的监听端口。
- Guid: 标识此服务器的唯一 ID。
- Bindings: 连接将被转发到的公共地址。示例:若备用 WebSocket 服务器正在端口 8000 上监听,且 IP 地址为 1.1.1.1,则使用如下格式:ws://1.1.1.1:8000;
- AutoRegisterBindings: 若启用,负载均衡服务器将使用备份服务器的 Bindings 属性来配置公共绑定。
- AutoRestart:以秒为单位,如果大于零,备份服务器的负载均衡器客户端将启用内部看门狗,每 x 秒检查一次连接是否存活,如果连接已关闭,将尝试重新连接。