我有一个nodejs tcp服务器来处理许多子服务器的状态,当状态服务器告诉子服务器执行某个操作时,它可能会很昂贵,大多数情况下它会非常昂贵(大约一分钟) ),在某些情况下,它将在几秒钟内完成。
由于子服务器正在做什么(监听websockets并经常来回传递大量数据),在操作这项昂贵的任务时我无法承受子服务器的停顿。
显然,nodejs没有生成新线程的能力,没有一些混乱的实现。是否值得产生一个新进程来执行这个可能很昂贵的任务,我可以确定从父服务器发送的命令何时会变得昂贵。
答案 0 :(得分:1)
Node.js确实能够生成其他进程,并且它可以很好地处理它们。查看node.js文档中的child_processes,特别是fork命令,它允许您生成其他node.js作业并通过消息通道与它们通信。
Node.js Child Processes Node.js Fork
http://nodejs.org/docs/latest/api/child_processes.html#child_process.fork