我在兩端使用node.js構建文件同步程序(與Dropbox不同)。我需要有數以千計的客戶端同時請求數據。HTTP vs Websockets相對於開銷
這是我目前的系統:
- 服務器推送通知客戶在網頁套接字(文件已更新)
- 客戶隊列下載併發出HTTP請求時空閒
我將以每個50 MB的壓縮塊爲單位提供數據,因此HTTP請求開銷(標頭)可以忽略不計。
如果我使用的請求和推送通知的WebSockets,會有:
- 注意的整體運行速度提升? (減少延遲,身份驗證等)
- 服務器上的其他開銷保持連接打開?
- 推送二進制數據的問題?
我覺得我需要有送過一個專門的WebSocket通知,因爲我不想讓他們在服務器上同時下載正在發生(大量的開銷)進行排隊做。
注意:只要客戶端系統處於打開狀態,這些websockets就會長期開放。
編輯:我將使用不同端口上的不同http服務器上的websockets,以將它們移動到不同的CPU核心。我可能有成千上萬的(如果不是幾十萬)併發的WebSockets開放的...
「在兩端使用node.js」 - 所以客戶端和服務器都安裝了node.js?客戶端不會是一個瀏覽器,例如? – yojimbo87 2011-04-04 09:21:37
是的,沒有瀏覽器。我將完全控制請求和響應。這將是一個在後臺運行的桌面應用程序。簡單的HTTP服務器,簡單的HTTP客戶端。 – tjameson 2011-04-04 14:49:18