NodeJS多核多线程的解决方案 -- pm2 之一

本文分享了作者在Web前后端开发中的经验,并介绍了使用AngularJS和NodeJS搭建单页网站的过程。重点讲解了如何利用NodeJS的Cluster模式解决单线程问题,开启多进程处理HTTP请求,提高应用性能。


写在前面

这两年做了很多Web的前后端开发,也有一些经验,所以在这里分享一下。很久不写博客了,因为很多东西都用evernote来记录了,方便快捷。


然后业余我也做了一个单页网站,基于AngularJS+NodeJS的,服务器端,自然就是用到了多开进程的解决方案。


NodeJS的Cluster

其实,用NodeJS,首先会碰到的就是,NodeJS是单线程的工作方式,实际上工作中,都是用Django来做这些活,Python的能力还是足够强大。其实,NodeJS很早就支持了Cluster模式,这个就是同时开启多个进程来监听同一个端口,分发http请求处理,或许大家有疑问,就是端口复用的问题,改天再说。


先说其他方案

NodeJS的这个问题有很多种解决方案,比如supervisord,forever等等,还有就是最原始的写一个shell脚本,同时起多个端口,然后用nginx逆向代理和分发映射到每一个端口。如果大家有需要,留言吧,我再开个帖子说说。

大家可以搜一下这几个东西的比较,我用下来,感觉都不如我现在要讲的pm2。


pm2简介

官网:http://pm2.keymetrics.io/
github:https://github.com/Unitech/pm2

这里就先说这么多,以后再说如何建立ecosystem脚本来实现配置,以及pm2 保存任务实现开机重启的原理。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值