2011-06-15 20 views
7

在node.js上運行web服務器是一件簡單的事情(正如其優秀的示例和文檔所示),但我想知道如何充分利用CPU資源專用服務器?node.js服務器實例在單臺機器上的水平伸縮

由於node.js是單線程,所以利用多個處理器的唯一方法是通過多個進程。當然,只有一個進程可以綁定到一個端口,所以似乎必須有一個主/輔助模式,其中主分支孩子,綁定到傳入端口,並委派傳入連接(和實際處理工作)給孩子。 (也許通過飢餓的消費模式?)

這是擴展運行node.js的Web服務器的最佳方式嗎?如果是這樣,是否有庫來簡化主/從模式?如果不是,建議使用哪種模式或部署設置以最好地利用專用機器的全部資源?

(這是爲ServerFault一個更好的問題?)

回答

6

Multi-node是提供主/工人模式庫。

如果服務器進程不需要能夠相互通話,並且您沒有使用Socket.IO,那麼一個簡單的選擇就是啓動一個進程/內核,綁定到本地端口,並使用某些東西如nginxHAProxy負載均衡之間。

+1

['cluster'](http://learnboost.github.com/cluster/)也很受歡迎 – Raynos 2011-06-15 21:36:35

2

如果您使用快遞,我會用TJ的集羣:http://learnboost.github.com/cluster/

它提供了「透明」基於CPU的負載平衡,這是很好的,因爲你可以使用現有的快遞應用程序,它跨尺度它核心相對無痛。

相關問題