问题标签 [node-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 回答
704 浏览

javascript - 带集群的节点与带线程的节点 a gogo

node cluster 和 Threads agogo 之间的主要区别是什么,它们各自的优缺点是什么?据我所知,线程 a agogo 创建了一个在后台运行的线程,而节点集群创建了一个在后台运行的新进程。我很感兴趣在易用性或性能方面会有什么差异,以及何时更喜欢其中一种。

0 投票
1 回答
832 浏览

node.js - 将 babel 与节点集群一起使用

我有一个用 ES6 开发并用 Babel 编译的非常简单的程序。

当我运行程序时出现问题

$ babel-node --presets es2015 program.js

主进程运行没有问题,但子进程崩溃:

从'kue'导入kue;

SyntaxError:意外的保留字

知道如何用 Babel 运行孩子吗?

注意:一种选择是生成一个 dist/ 文件夹,其中所有代码都转换为 ES5,但我把它留到最后。

0 投票
1 回答
1232 浏览

node.js - 这个 NodeJS 集群主机会崩溃吗?

我们一直在使用forever启动我们的 Express 应用程序,该应用程序cluster用于生成完成所有工作的工人。这意味着 master 只运行以下代码:

鉴于主人并没有真正做任何事情,是否有必要用 , 等“保护”foreversupervisor?是否存在master可能崩溃并且自动重新启动它的价值的任何情况?

0 投票
1 回答
2462 浏览

node.js - 如何在 Express Generator App Skeleton 中使用 Node Cluster 模块

我正在尝试在我的 Express 应用程序中使用集群模块。我使用 express-generator 创建我的应用程序结构,但我不确定如何在保持 app.js 和 bin/www 分离的同时合并集群模块。我已经看过使用 express 的集群的教程和 github 示例,但在完整的应用程序框架中没有。有没有办法在合并集群模块的同时保持 app.js 和 www 的分离?

这是我的完整 bin/www 文件:

我从来没有收到说“Worker 正在用 pid 监听...”的消息,并且 else 语句顶部的 console.log() 永远不会被打印出来。

0 投票
1 回答
3851 浏览

javascript - node.js + socket.io:拍卖网站开发

我目前正在使用 node.js 和 socket.io 编写拍卖脚本。但网站是使用 PHP 和 MySQL 开发的。在这里,我仅将 node.js + socket.io 用于拍卖投标过程。该网站将有 500-1000 名登录用户在拍卖期间查看单个页面。只有一件物品将被拍卖,并且将在一天内出售一次。

我将向从服务器到客户端的所有用户广播(发射)一个倒数计时器。在服务器端,我将使用 setInterval()、1 秒的递归 setTimeout() 来倒计时拍卖结束时间。除此之外,唯一发送的其他消息将是当前出价从单个客户端传递到服务器,然后广播给所有人。这种方式做的靠谱吗?它是否能够处理服务器上的使用情况?在这里,我测试了 500 个用户意味着在浏览器中挂起计时器。

服务器.js

客户端.js

我正在等待您解决浏览器挂起问题的答案。

0 投票
1 回答
169 浏览

javascript - 在 Amazon EC2 实例上负载测试 node.js 应用程序

我正在尝试使用带有 1 个主设备和 3 个从属设备的 JMeter 将端点作为托管在 m4.large 实例上的 API 加载测试我的 node.js 应用程序。'server.js' 文件在 node.js 中使用集群,如下所示:

当我测试保持 'var C_NUM_CPU=2' 时,最大响应时间超过了 42 秒,但是,在设为 6 时,响应时间下降到 1.7 秒!m4.large 的 vCPU 只有 2,那么负载是如何处理的呢?另外,在这种情况下,如何确定一个实例的最优选择?

0 投票
2 回答
1584 浏览

javascript - 如何将套接字传递给节点中的集群

我想获得一个多进程节点。工作人员正在监听客户端连接。我需要将套接字传递给主进程,因为主进程向客户端发出消息。工作人员还需要套接字来向客户端发出消息。

套接字是一个循环对象,不能传递给主进程。

我的代码:

在线 process.send({ socket: socket}); 节点 js 得到错误“TypeError:将循环结构转换为 JSON”

-我使用了一些模块来转换圆形对象但不工作。

-我尝试传递套接字 id,然后在主进程中,用这个 id 创建了新的套接字,但我不知道要使用它。

有没有可能将套接字从工作进程传递给主进程?

节点js版本:v5.5.0

0 投票
1 回答
198 浏览

javascript - RxJS 和 Master/Worker 工作流程

现在我使用集群库的程序如下所示:

它看起来有点难看,我需要复制一些 Master 和 Worker 通用的代码。有没有办法以更“反应性”的风格重写它?

0 投票
1 回答
855 浏览

node.js - 使用 Socket.io 和 Redis 的节点集群问题

好的,我有一个快速供电的 API,我还运行了 socket.io 来接收/发送实时事件……一切都很好。我需要集群我的应用程序。我根据以下代码设置了所有内容。我启动了工人,他们得到了连接,一切正常,除了现在我不能“爆炸”到所有 socket.io 连接的事实。这是设置(取自):

所以我从各种机器连接以测试并发性,工作人员做他们的事情,一切都很好,但是当我得到一个 IO 连接时,我正在记录“连接”总数,它总是每个实例 1 个。我需要一种方式说

我在正确的工作 pid 上获得了连接,但“ALL CONNECTIONS”总是返回 1。

我可以看到使用 Redis MONITOR 的订阅/取消订阅

这些是来自 2 台不同机器的连接,我希望通过使用 socket io redis 适配器,这些订阅将来自同一个 redis 连接,但它们是不同的。

我只是完全错过了什么吗?令人惊讶的是,没有完全过时/错误/模棱两可的文档/文章。

编辑:节点 v5.3.0 Redis v3.0.6 Socket.io v1.3.7

0 投票
2 回答
2511 浏览

node.js - 有没有办法从一个工作人员向 node.js 中的其他工作人员发送消息?

我可以用来process.send从工人向主人发送消息。我可以使用以下代码从 master 向每个 worker 发送消息。


要从工作人员向其他工作人员发送消息,我必须向主人发送消息,然后让它转发消息。这导致原始发件人也收到了消息,这是我想避免的事情,但我可以忍受它!

我还尝试直接从工人发送消息,就像它在主人中完成但cluster.workersundefined工人中一样。

有没有其他方法可以做到这一点?