gpt4 book ai didi

node.js - NPM 集群模块和监听不同的端口

转载 作者:搜寻专家 更新时间:2023-11-01 00:42:17 30 4
gpt4 key购买 nike

我看到很多将集群 npm 模块与 Express 网络服务器一起使用的示例。例如:

http://rowanmanning.com/posts/node-cluster-and-express/

但是,如果您使用集群模块“为每个核心”创建一个新的 Web 服务器,难道每个实例都必须监听不同的端口吗?我看到的大多数示例似乎都没有增加或更改 http 服务器正在监听的端口。在这种情况下,您是否需要代理服务器来路由请求,或者您可以不用代理服务器吗?

此外,当使用默认配置的集群时,所有 Node 都在同一端口上监听,当我向我的服务器发出请求时,所有进程(对于每个核心)都会响应。看起来很奇怪,我原以为集群模块会管理它,以便只有一个核心会响应每个请求。

最佳答案

不,您不需要代理或增加 fork 进程的端口。

当你使用集群模块时。有一个控制 fork 进程的主进程。这是通过其他子进程分派(dispatch)请求的主进程。所以没有端口冲突,主进程处理。

来自 node.js 文档:

“集群模块支持两种分发传入连接的方法。

第一个(也是除 Windows 以外的所有平台上的默认方法)是循环方法,其中主进程监听端口,接受新连接并以循环方式将它们分发给工作进程,使用一些内置的智能来避免工作进程过载。”

您可以在这里阅读:https://nodejs.org/api/cluster.html#cluster_how_it_works

关于node.js - NPM 集群模块和监听不同的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30589129/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com