[英]What specifically makes Node.js more scalable than Apache?
說實話,我還沒有完全理解它 - 我甚至理解Node.js是如何工作的,作為使用事件模型的單個線程。 我只是不知道它如何比Apache更好,如果它是單線程的,它如何水平擴展。
我發現Tomislav Capan撰寫的這篇博文非常清楚地解釋了這一點:
為什么地獄會使用Node.js? 個案介紹
我對它的要點的解釋,對於Node 0.10,與Apache相比:
注意:下面列出的大多數不良部分將通過即將推出的版本0.12得到改進,這是值得注意的。
所有服務器平台都有一個上限。 Node.js和Apache都會在某個時刻到達它。
這取決於你如何使用它。 Node.js默認是單線程的,但是使用(相對)新的集群模塊,您可以跨多個線程水平擴展。
此外,您的數據庫需求還將決定節點的縮放效率。 例如,將MySQL與node.js一起使用將不會獲得與使用MongoDB一樣多的好處,因為MongoDB和node.js都具有事件驅動的特性。
以下鏈接有很多不同設置的系統基准測試: http : //www.techempower.com/benchmarks/
Node.js排名不是最高,但與使用nginx的其他設置相比(在他們的表上沒有apache,但足夠接近)它確實很好。
但同樣,這在很大程度上取決於您的需求。 我相信如果你只是服務靜態網站,建議你堅持使用更傳統的堆棧。 然而,人們已經使用node.js為其他需求做了一些了不起的事情: http : //blog.caustik.com/2012/08/19/node-js-w1m-concurrent-connections/ (c10k?ha!)
編輯:值得一提的是,你真的不是用node.js'替換'apache。 您將替換apache和php(在典型的燈堆中)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.