我有一个项目要处理,我需要构建一些客户端 - 服务器应用程序,我可以在其中使用 Java 发送消息等。该项目的目标之一是处理故障转移。当客户端连接到服务器并且服务器死机时,它会自动连接到备份服务器。我想要做的不是必需的,但我想实现一个负载平衡器,以便多个客户端连接到首选服务器。
客户端和服务器之间的连接必须使用 TCP 套接字。
这是网络架构的示意图:
客户端连接到负载均衡器(udp 或 tcp,我不知道最适合这种情况的一个)。
负载均衡器决定该客户端应该连接哪个服务器(最空的一个)
客户端创建与指定服务器的 TCP 连接
我的问题是:
负载均衡器应如何工作以使客户端连接到特定服务器?将服务器的信息(ip,端口)发送给客户端,客户端使用新的 ip 创建另一个套接字?(蓝线)。
或者负载均衡器有没有办法连接这两个端点(服务器#1 <->客户端#1),而无需向客户端发送信息?
PS:我问你是因为每个客户端似乎没有必要创建 2 个套接字来连接到服务器(第一个套接字黑线,第二个套接字蓝线)