所在的位置: js >> js介绍 >> 使用Nodejs通过ClusterAP

使用Nodejs通过ClusterAP

Node.js是一个单线程平台,如果要利用多核CPU,则需要派生多个进程。这称为集群,并且由Node.jsClusterAPI支持。在本文中,您将看到集群模块如何工作。群集模块可帮助您在操作系统上产生新进程。每个进程都是独立工作的,因此您不能在子进程之间使用共享状态。每个进程通过IPC与主进程进行通信,并通过服务器来处理。集群支持两种类型的负载分配:主进程侦听端口,接受新连接,并以循环方式将其分配给子进程。主进程将端口分配给子进程,并且子进程本身监听端口。如何使用它?我们从创建节点项目文件夹开始,并使用npm对其进行初始化。下一步是将express框架添加到我们的项目中。项目配置完成。现在,我们将创建一个处理HTTPGET请求的简单快速应用程序。在第6行,模拟了使CPU繁忙的繁重任务,因此,如果另一个请求到来,它将被分配给另一个子进程。接下来,我们将创建管理多个工作程序的集群应用程序。在第4行,我们将集群schedulePolicy设置为循环,如果要依赖操作系统,则可以使用cluster.SCHED_NONE。在第5行,检查当前进程是否为主要进程,如果是,则获取您的计算机拥有的CPU数量,并为每个CPU派生一个新的子进程。Cluster将运行cluster.js作为派生新的子进程。当在第5行为子进程运行cluster.js时,cluster.isMaster将返回false,并且将为该子进程创建一个应用程序,它是一个helloworldexpress应用程序。让我们启动集群应用程序,看看它如何工作。我打开了8个命令窗口,并在每个窗口中调用了本地服务,结果如下。服务器日志如下:


转载请注明:http://www.aierlanlan.com/rzfs/7113.html