是否可以对来自单一来源的请求进行负载平衡?

是否可以对来自单一来源的请求进行负载平衡?

在我们的应用程序中,服务器 A 与服务器 B 建立 TCP 连接,然后通过 TCP 连接向服务器 B 发送大量请求。请求消息基于 XML。服务器 B 需要在很短的时间内做出响应,处理请求需要时间。因此,我们希望可以引入负载均衡器,通过使用多个服务器 B 来加快处理速度。这不是 Web 应用程序。我做了一些研究,但没有找到类似的负载均衡器应用程序。

有人能告诉我是否有负载平衡器可以帮助我们的应用程序吗?

说明我们应用程序的图表:

在此处输入图片描述

答案1

好的,如果我错了请纠正我,但这是你现在的情况:

在此处输入图片描述

这就是你所提议的:

在此处输入图片描述

这只有在瓶颈里面B.如果瓶颈出现在B和A之间,那么这只会让事情变得更糟。

如果瓶颈在 B 内部,则添加 LB将要增加来回切换的开销,但它会在两台服务器上相当均匀地分配负载。

答案2

不。负载平衡器通过将连接从一台服务器转移到另一台服务器来工作。连接需要断开,然后发送下一个请求,或者只是建立 100 个连接,然后通过每个连接发送一个请求。由于所有事情都发生在一个连接上,因此您几乎无需进行任何重新设计即可解决问题。

答案3

假设每个请求都是一个新的 TCP 连接(并且请求的数据相对静态),则可以使用类似以下方法进行负载平衡:Linux 虚拟服务器。但是如果您能够修改应用程序,为什么不在其中构建负载平衡呢?

相关内容