【发布时间】:2017-10-02 03:10:34
【问题描述】:
我有三个(nodejs)进程 P1、P2、P3。
P1 的函数 A 完成其执行,它向 P2 发送一些数据。
P2 执行其活动,其输出应发送到 P3。
P3 处理输入向 P1 的函数 B 发送一些确认数据。
这三个都是不同的 node js 应用程序,运行在不同的服务器上(在同一个 LAN 中)。问题是what should be the communication mechanism between these processes.
三个选项似乎是可行的:
1) REST API(快速)
让所有进程都成为 Express REST API 并使用 http node js 包调用所需的函数
2) 发布/订阅
当 P1 完成工作时,它将输出作为消息发布到主题,P2 成为订阅者,onMessage P2 进程执行。
3) TCP/IP
一个简单的 TCP/IP 服务器-客户端架构,其中 P1 成为服务器客户端,P2 作为服务器。每当 P1 完成工作时,通过套接字发送输出。
所有三个选项都用于多对一或多对多通信,所以我想可能会有很多不必要的开销,因为我的要求只有进程之间的一对一通信。
我还有其他方法可以使用吗,或者这些最好的套装之一是两难选择。
请提出建议。
谢谢。
【问题讨论】:
标签: node.js rest sockets tcp publish