15

我知道 cluster.fork 将允许多个进程在同一个端口上侦听,我还想知道的是,当您的一些工作人员不是 tcp 的侦听器/处理程序时,支持这一点有多少额外的开销服务?

我有一项服务,我还想启动几个工作人员。例如:2 个 Web 服务侦听器进程和 3 个工作人员实例。最好对它们都使用集群,还是将集群用于 2 个 Web 服务,而 child_process 用于工作人员会更好?

我不知道节点的内部结构,但我认为如果我和其他人更好地了解在不同需求下采取哪条路线会很好。目前,我正在为所有进程使用集群。

4

2 回答 2

23

cluser.fork是在child_process.fork. 带来的额外内容cluster.fork是,它将使您能够在共享端口上侦听。如果您不想要它,只需使用child_process.fork. 所以,是的,将集群用于 Web 服务器,将 child_process 用于工作人员。

于 2013-05-25T09:31:22.873 回答
0

Cluster 是 Node.js 的一个模块,其中包含一组函数和属性,可帮助开发人员分叉进程,通过这些进程,他们可以利用多核系统。使用集群模块,子进程和几个部分的创建和共享变得容易。在单个线程中,node.js 的单个实例专门运行并利用各种生态系统,启动一个 node.js 集群,以分配负载。

开发人员可以通过 child_process 模块访问操作系统功能,这可以通过在子进程中运行任何系统命令来实现。可以控制子进程的输入流,开发者也可以监听输出流。使用 Node 的 child_process 模块可以轻松地创建子进程,并且这些子进程可以在消息系统的帮助下轻松地相互通信

于 2020-08-20T18:32:00.360 回答