我目前有两个应用程序正在运行...
一个是我的 REST API 层,它为前端提供了许多服务。另一个是“翻译应用程序”,它可以被提供一个 JSON 对象(通过 http POST 调用),对该对象执行一些数据翻译和映射并将其返回到 REST 层
我的情况是我想为大量对象执行此操作。我想要的流程是:
用户以特定格式请求 100,000 个对象 -> REST 层从数据库中检索这些对象 -> 将每个 JSON 数据对象传递给翻译服务以执行格式化 -> 将每个对象传递回 REST 层 -> REST 层将新对象返回给用户.
我不想做的是在 100,000 个不同的调用上调用 tranlate.example.com/translate,或者通过 1 个巨大的 POST 请求传递数兆字节的数据。
因此,显而易见的答案是将数据流式传输到翻译应用程序,然后将数据流式传输回来。
跨应用程序传输数据似乎有很多解决方案:打开 websocket (socket.io),打开两者之间的原始 TCP 连接,或者由于 Node 的 HTTP 请求和响应数据实际上是一个流,我可以利用它然后在成功翻译后发出一个 JSON 对象
我的问题是这里有在两个应用程序之间流式传输数据的最佳实践吗?看来我应该使用 http(req, res) 流并保持长期连接打开以保留“REST”模型。任何可以提供的样品都会很棒。