节点IPC兄弟处理通信

时间:2014-12-18 13:44:14

标签: architecture server node.js

假设以下架构上下文:

                                               +-----------------------------+                                       
                   Lobby Server Starts Process |                             |                                       
 +--------------+                              |  Network I/O process        |                                       
 |              +------------------------------>                             |  Client I/O     +--------------------+
 | Lobby Server |                              |                             <----------------->                    |
 |              |                              +---------------^-------------+                 | Client Application |
 ++-----+-------+                                              |                               |                    |
  |     |                                                      |                               |                    |
  |     |                                                      |                               |                    |
  |     |                                     +-----------------------------+   Client I/O     |                    |
  |     |       Lobby Server Starts Process   |                |            <------------------>                    |
  |     |                                     | Another Network|I/O Process |                  +--------------------+
  |     +------------------------------------->                |            |                                        
  |                                           +-----^-----------------------+                                        
  |                                                 |          |                                                     
  |                                                 |          |                                                     
  |    Lobby Server Starts Process                I |        I |                                                     
  |                                               P |        P |                                                     
  +-------------------------------+               C |        C |                                                     
                                  |                 |          |                                                     
                                  |            +----v----------v-----------------------+                             
                                  |            |                                       |                             
                                  +------------>   Application Server Logic Process    |                             
                                               |                                       |                             
                                               +---------------------------------------+

我的问题是,鉴于以下设计,实现网络I / O服务器和逻辑服务器之间通信的好方法是什么。逻辑服务器不能依赖于特定的网络I / O进程来工作,例如,如果网络I / O进程由于某种原因因逻辑进程必须继续运行而关闭。所有网络I / O进程和逻辑进程都是Lobby Server Process的子进程。

基本上我是在询问如何实现兄弟进程(网络I / O和逻辑服务器)之间的通信。如果有针对Node的特定解决方案,这都是用Node编写的,但是一般的想法也会有所帮助。

这是对 this 问题的跟进。

PS:如果这对编程问题过于笼统并且不属于此,我很抱歉。如果是这种情况,我会将其删除。

1 个答案:

答案 0 :(得分:0)

在我看来,最简单,最具扩展性的解决方案是ZeroMQNode具有此约束力。 ZeroMQ是“套接字”概念的强大实现,其通信后端可以变化,因此可以在本地和远程使用它。