目前,我在我的应用程序中使用EventEmitter2作为消息总线,我非常喜欢它。
无论如何,现在我需要一个消息总线,它不仅可以在进程中工作,还可以在进程间工作。我理想的候选人会...
我做的不需要:
任何想法或提示?
PS:如果你可以推荐一款可用的产品,那也没关系,但是如果你可以指引我自己做一个无服务器的方向,也没关系。
答案 0 :(得分:11)
以下是我看到的选项。
<强> process.fork /发送。如果两个进程都是节点,则节点核心通过此API提供简单的,事件驱动的IPC机制。它与process.fork
配对,因此,如果您的流程是基于节点的主服务器和多个基于节点的工作服务器/支持子流程,process.send
可能是一个可行的选择。 http://nodejs.org/docs/latest/api/all.html#all_child_process_fork_modulepath_args_options
使用node core的TCP网络通过unix域套接字进行连接。 http://nodejs.org/docs/latest/api/all.html#all_net_connect_options_connectionlistener
老旧的TCP。
节点到节点socket.io
在所有情况下,连接后都会获得双向通信,但始终存在第一个对等体(TCP或socket.io中的服务器,process.fork中的父进程)和第二个对等体(TCP或套接字中的客户端)的概念.io,进程中的子进程.fork)。