為什么要用node.js它又有什么優(yōu)勢呢?一個新的技術(shù)被大家喜愛那么它就必然有它的優(yōu)勢,那么下面我們就來簡單把它和php做一個對比
1 . Node.js 他用的是JavaScript引擎,那么注定它是單線程 ,使用異步方法開辟多個任務(wù),無需像php等待上個任務(wù)線程使用結(jié)束之后給下個使用,
PHP也是單線程但是它借用Apache服務(wù)器提供多線程服務(wù)
2 . 高并發(fā),大數(shù)據(jù)量怎么處理:
php : 優(yōu)化sql ,用組件,用緩存,為了讓線程盡快結(jié)束,進行下一次任務(wù)
node:單線程 、異步、事件驅(qū)動
下面是他們處理事件,
php上下銜接依次執(zhí)行,
node中因為運行速度很快并不會等待,所以如果后面用到前面返回的結(jié)果,就需要把后面的封裝起來,作為一個回調(diào)函數(shù)執(zhí)行
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)友評論