介绍
单个 Node.js 程序的实例仅在一个线程上运行,因此无法充分利用 CPU 的多核系统。有时你可能需要启动 Node.js 进程集群来利用本地计算机或生产服务器上的每个 CPU 内核。
在处理 API 或基于 ExpressJS 的HTTP服务器时,这个问题尤其重要。
幸运的是,Node.js 有一个名为 Cluster 的核心模块,它能够帮助我们在 CPU 的所有核心上运行 Node.js 程序。
在本文中,我们将会用 Node.js 实现一个 ExpressJS HTTP 服务器,并在每个 CPU 内核上创建一个唯一的实例。这样,由于每个其CPU 核心实例都会提供可能的并发请求数,因此 HTTP 服务器的吞吐量将会大大增加。
创建 Express HTTP 服务器
我们要做的第一件事是启动并运行 HTTP 服务器。如果你已经有了一个可用的 ExpressJS 服务器,则可以跳至下一部分:在多核 CPU 上运行服务器。
我们将用 ExpressJS 来快速创建一个高效而简单的服务器。如果尚未安装 npm 软件包,则可以用以下命令进行安装:
- $ npm install --save express
然后把下面的代码添加到要你的的 Node.js 文件中: