连接两个nodejs REST API服务器的最佳方法



场景是我有两个提供一些REST API的Node应用程序,Server_A有一些REST端点,Server_B有一些其他的端点集。

我们有一个要求,Server_A需要来自Server_B的一些数据。我们可以为此创建一些 REST 端点,但会出现一些性能问题。Server_A每次都会创建 HTTP 连接以Server_B。

我们可以使用Websockets,但我不太确定这是否是好方法。 在所有情况下,Server_A都将调用Server_B,Server_B将立即返回数据。

Server_B将执行大部分数据库操作,Server_A只有计算。Server_A会打电话给Server_B了解一些数据要求。

此外,Server_A 和 Server_B 之间只有一个套接字连接,所有其他客户端将仅通过 REST 连接。

谁能建议这是否是正确的方法? 或者你有一些更好的主意。

如果我得到一些代码参考、模块建议,那将很有帮助。 谢谢

你问的是过早的优化。 您正在尝试在知道自己有问题之前进行优化。

HTTP连接非常快。 有些数据库使用 HTTP API 工作,并且会根据服务器的每个 HTTP 请求查询这些数据库。 因此,经常使用的HTTP API可以正常工作。

您需要做的是使用已支持的对服务器 B 的常规 HTTP 请求来实现服务器 A。 然后,在负载下测试系统,看看它的性能如何。 很有可能真正的瓶颈与您在服务器 A 和服务器 B 之间使用 HTTP 请求这一事实无关,如果您想提高系统性能,您可能会处理不同的问题。 这就是您不想进行过早优化的原因。

系统中的移动部件越多,当您将系统置于负载之下时,您就越不可能知道实际瓶颈在哪里。 这就是为什么您必须在负载下测试系统,疯狂地检测它,以便您可以看到性能受到最大影响的地方,然后疯狂地进行测量。 然后,也只有这样,您才会知道在哪里投入开发资源来提高可扩展性或性能是有意义的。

仅供参考,webSocket 连接比重复的 HTTP 连接有一些优点(每个请求的连接开销更少(,但也有一些缺点(它不是请求/响应,因此您发明了自己的方法来将响应与给定请求匹配(。

最新更新