假设以下架构上下文:
+-----------------------------+
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:如果这对编程问题过于笼统并且不属于此,我很抱歉。如果是这种情况,我会将其删除。