循环中不会有人,两个端点都是作为独立服务运行的自治Node.js应用程序。
端点A负责通过安全的Web套接字联系端点B,并全天候维护该连接。
两个端点将独立发起消息(无需人为干预),两个端点都将具有API(RESTful或其他)来接收和处理消息。您可能会说每个端点都是另一个端点的客户端和服务器。
我正在考虑像Sails.js和LoopBack这样的框架(在两个端点上实现),以及简单地通过ws传递JSON消息,但仍然不清楚最惯用的方法是什么。
答案 0 :(得分:0)
Web套接字在连接到浏览器时有很多开销,因为它们试图与HTTP保持兼容。如果您只是连接一对服务器,那么简单的TCP连接就足够了。您可以使用net module进行此操作。
现在,一旦你有这种联系,你如何开始沟通?您可能会遇到制作自己的协议的麻烦,但我不推荐它。我发现一个简单的RPC是最简单的。您可以在任何双工流(包括TCP套接字)上使用rpc-stream package。
对于我自己的应用程序,我实际安装了socket.io-client,让我的服务器将它用于RPC。虽然如果我再次这样做,我会使用rpc-stream来跳过设置Web Socket连接所需的所有开销。