為什么要用node.js它又有什么優(yōu)勢呢?一個新的技術(shù)被大家喜愛那么它就必然有它的優(yōu)勢,那么下面我們就來簡單把它和php做一個對比

1 . Node.js 他用的是JavaScript引擎,那么注定它是單線程 ,使用異步方法開辟多個任務(wù),無需像php等待上個任務(wù)線程使用結(jié)束之后給下個使用,

   PHP也是單線程但是它借用Apache服務(wù)器提供多線程服務(wù)

Android培訓(xùn),安卓培訓(xùn),手機開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

2 . 高并發(fā),大數(shù)據(jù)量怎么處理:

php : 優(yōu)化sql ,用組件,用緩存,為了讓線程盡快結(jié)束,進行下一次任務(wù)

node:單線程 、異步、事件驅(qū)動

 

下面是他們處理事件,

     php上下銜接依次執(zhí)行,

     node中因為運行速度很快并不會等待,所以如果后面用到前面返回的結(jié)果,就需要把后面的封裝起來,作為一個回調(diào)函數(shù)執(zhí)行

Android培訓(xùn),安卓培訓(xùn),手機開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

node.js vs php

 

優(yōu)點:

  性能高(運行機制問題)

  開發(fā)效率高(省不少優(yōu)化的事)

  應(yīng)用范圍廣(可以開發(fā)桌面系統(tǒng),electron框架)

缺點:

  新、人少

  中間件少

  IDE不完善

  

node.js的劣勢和解決方案

  

  1 默認不支持多核,但可以用cluster解決

  2 默認不支持服務(wù)器集群,node-http-proxy可以解決

  3 使用nginx做負載均衡,靜態(tài)的由nginx處理,動態(tài)的有node.js處理

  4 forever或node-cluster實現(xiàn)災(zāi)難恢復(fù)

 

 

下面是 一個數(shù)據(jù)測試

  請求-->隨機創(chuàng)建內(nèi)容是20k字符的文檔 -->讀取文檔 -->輸出

網(wǎng)友評論