多个nodejs应用程序之间的进程间通信

Posted

技术标签:

【中文标题】多个nodejs应用程序之间的进程间通信【英文标题】:Interprocess communication between multiple nodejs apps 【发布时间】:2013-04-02 22:04:13 【问题描述】:

我正在开发一个使用 nodejs 的项目。项目同时运行多个 nodejs 应用程序(进程)。我想在这些进程之间共享数据并同步它们的执行。 nodejs是否有类似于“消息队列”和“信号量”的东西 共享数据并同步执行流程。 我知道 nodejs 有异步 I/O,我不应该在我的应用程序中使用阻塞 I/O 操作,但是应用程序中的一些文件读/写操作需要阻塞 I/O。

我可以使用 socket.IO 进行信息共享,但使用 socket.io 进行同步会变得混乱。

简而言之,我正在寻找一个节点模块,它可以为 IPC 托管共享消息队列,还可以充当调度程序来阻止和运行应用程序中的进程。

【问题讨论】:

【参考方案1】:

Google “nodejs 消息总线” - Socket.io 和 ZeroMq 有很多替代品,包括 Simple Bus 和 Postal.js

【讨论】:

【参考方案2】:

你可以试试 ZeroMQ,它有 node.js 的绑定:http://www.zeromq.org/bindings:node-js

【讨论】:

谢谢,但 ZeroMQ 的数据共享模型看起来更像 socket.io。

以上是关于多个nodejs应用程序之间的进程间通信的主要内容,如果未能解决你的问题,请参考以下文章

.Net 进程间通信

Linux进程间通信

Linux进程间通信(IPC)

Windows进程间的通信

23Linux系统编程进程间通信的集中方式

进程间通信