繁体   English   中英

child_process.fork 和 cluster.fork 之间的有效区别是什么?

[英]What are the effective differences between child_process.fork and cluster.fork?

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

我有一个服务,我也想启动几个工作程序。例如:2 个 Web 服务侦听器进程和 3 个工作程序实例。 最好为他们全部使用集群,还是为 2 个 Web 服务使用集群,而为工作人员使用 child_process 更好?

我不知道 node 的内部结构,但我认为对于我自己和其他人来说,如果能够更好地了解在不同需求下采用哪条路线会很好。 现在,我对所有进程都使用集群。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM