TsgcWebSocketLoadBalancerServer 组件在 sgcWebSockets 2024.3.0 版本中得到了增强。该组件现已支持 HTTP 协议(此前仅支持 WebSocket),并新增了两个事件用于精细化控制 HTTP 请求。负载均衡服务器现在继承自 TsgcWebSocketHTTPServer,因此继承了该组件的所有方法和属性。
负载均衡服务器配置
负载均衡服务器继承自 TsgcWebSocketHTTPServer,请参阅 TsgcWebSocketHTTPServer 的文档了解配置方法。
此外,负载均衡服务器还提供 LoadBalancer 属性,包含以下子属性:
- LoadBalancing:配置连接分发方式
- lbRandom:(默认)每次有新客户端请求连接时,随机返回一台服务器。
- lbConnections:每次有新客户端请求连接时,返回当前连接数最少的服务器。
- Protocols:配置启用的协议
- WebSocket:若为 true,WebSocket 连接将由负载均衡服务器处理。
- HTTP:若为 true,HTTP 连接将由负载均衡服务器处理。
后端服务器配置
后端服务器(负载均衡器后面的服务器)可以是 TsgcWebSocketServer、TsgcWebSocketHTTPServer 或 DataSnap 服务器。
这些服务器有一个名为 LoadBalancer 的属性,用于配置负载均衡服务器与后端服务器之间的连接。
- Enabled:设为 true 即可作为后端服务器使用。
- Host:负载均衡服务器所在的主机地址。
- Port:负载均衡服务器的监听端口。
- Guid:标识该服务器的唯一 ID。
- Bindings:连接将被转发到的公网可访问地址。例如:若后端 WebSocket 服务器监听端口 8000,IP 地址为 1.1.1.1,则填写:ws://1.1.1.1:8000。
- AutoRegisterBindings:若启用,负载均衡服务器将使用后端服务器的 Bindings 属性配置公共绑定。
- AutoRestart:以秒为单位,若大于零,后端服务器的负载均衡客户端将启用内部看门狗,每隔 x 秒检查连接是否存活,若已断开则尝试重新连接。
示例
以下链接提供一个 Windows 编译好的演示程序,展示如何配置一个负载均衡服务器,将 HTTP 请求随机转发至 3 台服务器。
