2015-11-09 59 views
1

許多高負荷網站都會通知用戶有關新消息/主題運行時,而無需重新加載頁面。他們如何做到這一點?他們使用哪種方法?確定是否有新數據的最佳方法

我認爲有兩種方法:

  • 服務器使用JavaScript每次間隔
  • 使用WebSockets

通過共同的意見「問」,第一個是服務器太重,因爲它產生太多請求。

關於第二人在高負荷應用程序中的行爲我什麼都不知道,是不是很好?

那麼,哪種設計方法可以在不需要重新加載頁面的情況下正確執行「新msg可用」等功能呢? 這個問題相當於性能:)

+0

Websocket實現需要服務器實現和客戶端(通常是一個運行javascript的瀏覽器,但也包括本地應用程序)實現......你的問題是超寬泛的 - 你在做什麼?你的服務器在運行什麼?您的客戶是網頁還是本地應用程序(哪個平臺)? ...請提供更多細節。 – Myst

+0

如果您使用Ruby,您可以查看[Plezi框架](http://www.plezi.io)。我有偏見,但我認爲這是一種編寫服務器端websocket解決方案的簡單方法,使您能夠推出一個可以使用Redis輕鬆擴展的快速解決方案。 – Myst

回答

1

在瀏覽器中的WebSocket性能不是問題,在服務器端有性能的實現。例如,Crossbar.io可以輕鬆處理小型服務器上180k併發連接(在舊i5筆記本電腦上的VM上測試)和10k/s消息 - 並且都可以隨硬件(分別爲RAM和CPU)擴展。另外:像Crossbar.io/Autobahn/WAMP這樣的東西給你一個在WebSockets之上的協議來處理向客戶端發送通知,讓你的生活更輕鬆。

完全披露:我爲在Crossbar.io上工作的公司工作,並且還有其他WebSocket和PubSub解決方案。看看什麼最適合你的使用案例,並與此一起去。

相關問題