问题标签 [nodejs-cluster]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
124 浏览

node.js - 带有 MQTT 客户端的 Nodejs 集群

我有一个 nodejs 引擎,它使用 MQTT 订阅来自许多 IoT 设备的消息。随着物联网设备数量的增加,我想以集群模式运行nodejs引擎。这导致每个集群都接收到所有 MQTT 消息。有没有办法避免这种情况?一种仅接收一次 MQTT 消息并且服务消息的负载可以平均分配的方式。

设置:

带有 MQTT 客户端的 Nodejs 引擎通过 EC2 实例中的 pm2 运行。在另一个 EC2 实例中运行的 MQTT 代理。

0 投票
0 回答
14 浏览

node.js - Nodejs 集群 API 未使用所有 CPU 内核

我有一个 12 核处理器,但我什至无法将它的核心与 nodejs 紧密结合使用。(在 Windows 上)

在下面的代码中,我分叉了 12 个具有无限运行时间的进程。

但是,实际上只有(相当)随机数量的进程运行?

代码的示例输出:

示例 1:

示例 2:

示例 3:

源代码:cluster-test.js

这可以修复为有 12 个活动进程吗?现在,这个集群 API 对我来说似乎毫无用处。

编辑:在我看来,这是由Windows不支持集群轮询引起的。也就是说,在最坏的情况下,所有请求都将被重定向到同一个线程。由于第一个线程正在阻塞(while true),所以没有任何反应。

0 投票
0 回答
8 浏览

node.js - nodejs集群模块中从主到从的负载均衡工作

我每秒从服务器连续接收 50 笔交易,我想使用一个名为processTransaction.

主进程接收事务,但现在我想在所有子进程之间负载平衡事务处理(我有 16 个子进程与核心数相同)。我无法使用集群模块在nodejs上实现它,请你帮忙。

这里我的代码使用单线程: