Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
负载平衡器、套接字和java_Java_Sockets_Networking_Tcp_Load Balancing - Fatal编程技术网

负载平衡器、套接字和java

负载平衡器、套接字和java,java,sockets,networking,tcp,load-balancing,Java,Sockets,Networking,Tcp,Load Balancing,我有一个项目要做,我需要构建一些客户机-服务器应用程序,在那里我可以用Java发送消息等等。该项目的一个目标是处理故障转移。当客户端连接到服务器且服务器死亡时,它会自动连接到备份服务器。我想做的不是必需的,但我想实现一个负载平衡器,以便多个客户端连接到首选服务器 客户端和服务器之间的连接必须使用TCP套接字 这是网络体系结构的示意图: 客户端连接到负载平衡器(udp或tcp,我不知道是什么原因) 这种情况下最好的一个) 负载平衡器决定客户端应连接的服务器(最空的服务器) 客户端创建与指定服务器

我有一个项目要做,我需要构建一些客户机-服务器应用程序,在那里我可以用Java发送消息等等。该项目的一个目标是处理故障转移。当客户端连接到服务器且服务器死亡时,它会自动连接到备份服务器。我想做的不是必需的,但我想实现一个负载平衡器,以便多个客户端连接到首选服务器

客户端和服务器之间的连接必须使用TCP套接字

这是网络体系结构的示意图:

  • 客户端连接到负载平衡器(udp或tcp,我不知道是什么原因) 这种情况下最好的一个)

  • 负载平衡器决定客户端应连接的服务器(最空的服务器)

  • 客户端创建与指定服务器的TCP连接

  • 我的问题是:

    负载平衡器应该如何工作以使客户端连接到特定服务器?将服务器信息(ip、端口)发送到客户端,客户端使用新的ip创建另一个套接字?(蓝线)

    或者,负载平衡器是否有办法连接这两个端点(服务器1客户端1),而不必向客户端发送信息


    PS:我问你是因为每个客户端似乎没有必要创建两个套接字来连接到服务器(第一个套接字黑线,第二个套接字蓝线)

    我认为在客户端向负载平衡器发送信息之后,最好是负载平衡器将该信息发送到它决定的服务器,而不是将某些信息发送回客户端,客户端再次连接到服务器

    我认为在客户端将信息发送到负载平衡器之后,最好是负载平衡器将该信息发送到它决定的服务器,而不是将某些信息发送回客户端,客户端再次连接到服务器取决于应用程序。。。如果平衡器必须通过其网络堆栈路由大量数据,那么只提供一个地址可能更合适。@KaushikSivakumar您的意思是,在负载平衡器决定使用哪台服务器之后,该服务器连接到客户端(而不是客户端->服务器)?取决于应用程序。。。如果平衡器必须通过其网络堆栈路由大量数据,那么只提供一个地址可能更合适。@KaushikSivakumar您是说,在负载平衡器决定使用哪台服务器之后,该服务器连接到客户端(而不是客户端->服务器)?此设计决策取决于您的要求。让平衡器路由消息和数据可能会使他成为瓶颈并阻碍可伸缩性。我希望负载平衡器不要像代理一样工作,因此每个客户端直接连接到特定的服务器。此设计决策取决于您的需求。让平衡器路由消息和数据可能会使他成为一个瓶颈并阻碍可伸缩性。我希望负载平衡器不要像代理一样工作,因此每个客户端都直接连接到特定的服务器