[FB@backend] node.JS 打臉文系列
(www.facebook.com)
呃,目前我還看不出來哪裡被打臉 (繼續等第二部份寫完)
update 回文中的第二部份已經寫完整了, 不過我覺得還是一樣沒有打臉到 nodejs。
IngramChen
積分 3
nodejs IO 是 event driven,不會 block,但是 cpu 密集運算會 block 整個 app,這是老問題了,nodejs 開發者都了解。所以感覺上沒什麼 問題 ,但那些問題還是都在啊…
Java/Go 就是兩種模式都通吃,所以 IO block 了,就最佳化那塊,換成 event driven 就好,而平常的工作都是 thread 在分工了,也沒有問題。所以其他語言的選擇比較多,不像 nodejs 要用很多奇巧淫技才能克服缺點。不過呢,像 java 的很多 SQL driver 就不是 event IO 的,所以有時候也使不上力,不像 nodejs 全部都 event IO。(但講求效率的 NoSQL driver 幾乎都有 event IO 可選)
callback hell 可以靠一些類 future/promise api,外加未來 es6 Generators 應該就可以寫得很漂亮?
另外關於 heavy task 的 thread 問題...,之前有看到這種 node-webworker-threads1,但就是得另外裝就是了。