1. 程式人生 > >NodeJS多核多執行緒的解決方案 -- pm2 之一

NodeJS多核多執行緒的解決方案 -- pm2 之一

寫在前面

這兩年做了很多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 儲存任務實現開機重啟的原理。