两台服务器之间通信的最佳方式是什么?

San*_*Roy 5 communication node.js server

我正在构建一个包含两个部分的Web应用程序.在一个部分中,它使用服务器和客户端之间的实时连接,而在另一部分中,它执行一些cpu密集型任务以提供相关数据.

在nodejs和python/java中的cpu密集部分实现实时通信.nodejs服务器参与与其他服务器的双工通信的最佳方式是什么?

小智 5

对于基本解决方案,您可以使用Socket.IO如果您已经在使用它并且知道它是如何工作的,它将完成工作,因为它允许客户端和服务器之间的通信,其中客户端可以是不同语言的不同服务器.

如果你想要一个更强大的解决方案,带有额外的选项和控制,或者可以处理更高的流量吞吐量(尽管如果你最终只是通过相对较慢的互联网发送它,这应该不是问题)你可以看看像 ØMQ ( ZeroMQ)。它是一个消息队列,它为您提供了更多的控制权和许多不同的通信方法,而不仅仅是请求-响应。

当您设置其中任何一个时,我建议使用您的 CPU 密集型服务器作为稳定端(服务器)和您的 Web 服务器作为您的客户端。假设您将单个服务器用于 CPU 密集型任务,并且您正在运行多个 NodeJS 服务器实例以利用 Web 服务器的多核优势。这简化了您的通信,因为您希望有一个连接点。

如果您预见需要多个 CPU 服务器,您将需要设置一个可以在多个 Web 服务器和多个 CPU 服务器之间路由的路由服务器,在这种情况下,我建议额外学习 ØMQ。