更新時(shí)間:2021-06-11 來(lái)源:黑馬程序員 瀏覽量:
node的優(yōu)缺點(diǎn)是什么?
優(yōu)點(diǎn)
1、高并發(fā)(最主要的一個(gè)優(yōu)點(diǎn))
2、適合I/O密集型應(yīng)用
缺點(diǎn)
1、不適合CPU密集型應(yīng)用;CPU密集型應(yīng)用給node帶來(lái)的挑戰(zhàn)主要是:由于JavaScript單線程的原因,如果有長(zhǎng)時(shí)間運(yùn)行的計(jì)算(比如大循環(huán)),將會(huì)導(dǎo)致CPU時(shí)間片不能釋放,使得后續(xù)I/O無(wú)法發(fā)起;
解決方案:分解大型運(yùn)算任務(wù)為多個(gè)小任務(wù),使得運(yùn)算能夠適時(shí)釋放,不阻塞I/O調(diào)用的發(fā)起;
2、只支持單核CPU,不能充分利用CPU
3、可靠性低,一旦代碼某個(gè)環(huán)節(jié)崩潰,整個(gè)系統(tǒng)都崩潰
原因:?jiǎn)芜M(jìn)程,單線程
解決方案
3.1)Nnigx反向代理,負(fù)載均衡,開多個(gè)進(jìn)程,綁定多個(gè)端口
3.2)開多個(gè)進(jìn)程監(jiān)聽同一個(gè)端口,使用cluster模塊
4、開源組件庫(kù)質(zhì)量參差不齊,更新快,向下不兼容
5、Debug不方便,錯(cuò)誤沒有stack trace
猜你喜歡: