過去因為是blocking的作法,如果遇到上傳檔案這種事情,一個process或者thread將會占用掉server一定的資源,至少在完成該動作前,該process/thread不會被釋放出來
反觀node.js的作法,卻是將動作放入event queue反覆取出處理,相對比較不佔用資源
但是這樣的好處卻要付出代價的,因為node.js的機制相對類似於cpu的排程,他並沒有同步或者等待的機制,這部分都要programmer自行處理,當然網路上也出現了一些libs來處理這些事。
不過反觀這樣的做法,很類似mysql一開始為了速度放棄了transaction,但是如果一旦transaction需求的重要性多過放棄transaction帶來的好處,就會引發開發上負面的效果
參考資料
http://www.nodebeginner.org/index-zh-tw.html
相關的libs:
seq
promise
Daily JS
沒有留言:
張貼留言