在我们的应用程序中,服务器 A 与服务器 B 建立 TCP 连接,然后通过 TCP 连接向服务器 B 发送大量请求。请求消息基于 XML。服务器 B 需要在很短的时间内做出响应,处理请求需要时间。因此,我们希望可以引入负载均衡器,通过使用多个服务器 B 来加快处理速度。这不是 Web 应用程序。我做了一些研究,但没有找到类似的负载均衡器应用程序。
有人能告诉我是否有负载平衡器可以帮助我们的应用程序吗?
说明我们应用程序的图表:
答案1
好的,如果我错了请纠正我,但这是你现在的情况:
这就是你所提议的:
这只有在瓶颈里面B.如果瓶颈出现在B和A之间,那么这只会让事情变得更糟。
如果瓶颈在 B 内部,则添加 LB将要增加来回切换的开销,但它会在两台服务器上相当均匀地分配负载。
答案2
不。负载平衡器通过将连接从一台服务器转移到另一台服务器来工作。连接需要断开,然后发送下一个请求,或者只是建立 100 个连接,然后通过每个连接发送一个请求。由于所有事情都发生在一个连接上,因此您几乎无需进行任何重新设计即可解决问题。
答案3
假设每个请求都是一个新的 TCP 连接(并且请求的数据相对静态),则可以使用类似以下方法进行负载平衡:Linux 虚拟服务器。但是如果您能够修改应用程序,为什么不在其中构建负载平衡呢?