问题标签 [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.
javascript - 带集群的节点与带线程的节点 a gogo
node cluster 和 Threads agogo 之间的主要区别是什么,它们各自的优缺点是什么?据我所知,线程 a agogo 创建了一个在后台运行的线程,而节点集群创建了一个在后台运行的新进程。我很感兴趣在易用性或性能方面会有什么差异,以及何时更喜欢其中一种。
node.js - 将 babel 与节点集群一起使用
我有一个用 ES6 开发并用 Babel 编译的非常简单的程序。
当我运行程序时出现问题
$ babel-node --presets es2015 program.js
主进程运行没有问题,但子进程崩溃:
从'kue'导入kue;
SyntaxError:意外的保留字
知道如何用 Babel 运行孩子吗?
注意:一种选择是生成一个 dist/ 文件夹,其中所有代码都转换为 ES5,但我把它留到最后。
node.js - 这个 NodeJS 集群主机会崩溃吗?
我们一直在使用forever
启动我们的 Express 应用程序,该应用程序cluster
用于生成完成所有工作的工人。这意味着 master 只运行以下代码:
鉴于主人并没有真正做任何事情,是否有必要用 , 等“保护”forever
它supervisor
?是否存在master可能崩溃并且自动重新启动它的价值的任何情况?
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() 永远不会被打印出来。
javascript - node.js + socket.io:拍卖网站开发
我目前正在使用 node.js 和 socket.io 编写拍卖脚本。但网站是使用 PHP 和 MySQL 开发的。在这里,我仅将 node.js + socket.io 用于拍卖投标过程。该网站将有 500-1000 名登录用户在拍卖期间查看单个页面。只有一件物品将被拍卖,并且将在一天内出售一次。
我将向从服务器到客户端的所有用户广播(发射)一个倒数计时器。在服务器端,我将使用 setInterval()、1 秒的递归 setTimeout() 来倒计时拍卖结束时间。除此之外,唯一发送的其他消息将是当前出价从单个客户端传递到服务器,然后广播给所有人。这种方式做的靠谱吗?它是否能够处理服务器上的使用情况?在这里,我测试了 500 个用户意味着在浏览器中挂起计时器。
服务器.js
客户端.js
我正在等待您解决浏览器挂起问题的答案。
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,那么负载是如何处理的呢?另外,在这种情况下,如何确定一个实例的最优选择?
javascript - 如何将套接字传递给节点中的集群
我想获得一个多进程节点。工作人员正在监听客户端连接。我需要将套接字传递给主进程,因为主进程向客户端发出消息。工作人员还需要套接字来向客户端发出消息。
套接字是一个循环对象,不能传递给主进程。
我的代码:
在线 process.send({ socket: socket}); 节点 js 得到错误“TypeError:将循环结构转换为 JSON”
-我使用了一些模块来转换圆形对象但不工作。
-我尝试传递套接字 id,然后在主进程中,用这个 id 创建了新的套接字,但我不知道要使用它。
有没有可能将套接字从工作进程传递给主进程?
节点js版本:v5.5.0
javascript - RxJS 和 Master/Worker 工作流程
现在我使用集群库的程序如下所示:
它看起来有点难看,我需要复制一些 Master 和 Worker 通用的代码。有没有办法以更“反应性”的风格重写它?
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
node.js - 有没有办法从一个工作人员向 node.js 中的其他工作人员发送消息?
我可以用来process.send
从工人向主人发送消息。我可以使用以下代码从 master 向每个 worker 发送消息。
要从工作人员向其他工作人员发送消息,我必须向主人发送消息,然后让它转发消息。这导致原始发件人也收到了消息,这是我想避免的事情,但我可以忍受它!
我还尝试直接从工人发送消息,就像它在主人中完成但cluster.workers
在undefined
工人中一样。
有没有其他方法可以做到这一点?