当内存不足时防止节点崩溃
我正在构build一个nodeJS应用程序,目的是将文档转换为图像。 因此,内存非常大,所以当出现高峰时,服务器上的内存使用率可能会达到100%。
我的问题是,当它发生时,节点崩溃(内存不足的例外),所以我想find一个方法,它不会崩溃,只是做它的工作“以及它可以”。
我知道还有其他的select(缩放,排队,使用'永远'自动恢复),并正在处理这个问题,但万一有些失败,知道我的服务器将不会死在RAM发生充满。
有没有办法做到这一点?
我会这样做:
- 任务在持久队列中排队
- 几个单独的节点(工作者)进程使用队列中的任务并计算结果。 每个工作者都被限制在1.7GB内存(最多为node.js进程)
- 我认为这个任务是相当同步的,而且计算量很大,所以工人一次只能处理一个以上的任务是没有多大意义的。
这样可以保证不耗尽所有内存,并且可以非常有效地利用机器资源。
- Passport.js twitter身份validation导致500错误,req.session未定义
- 将消息发送到Socket,从C#客户端到node.js + socket.io服务器
- 事务完成后,PostgreSQL只通知NOTIFY
- NodeJS和BackboneJS中的模板引擎
- Nodejs随机免费的TCP端口
- gulp-rev-replace不会更改我的master.blade.php中的修订文件名
- 无法在NodeJS服务器上获取客户端IP地址
- 如何检查从req.user的用户ID从Passport JS和MongdoDB用户ID匹配更新/删除文档之前?
- Nodejs – Passport – 无法序列化用户进入会话