[英]Real-Time with Node.js: WebSocket + Server-Side Polling vs. Client-Side Polling
我正在開發顯示來自Redis的實時數據(圖表等)的應用程序。 更新后的數據很快(毫秒)到達Redis。 因此,盡可能多地顯示更新是有意義的(只要人眼可以注意到它)。
技術棧:
現在,我在客戶端進行輪詢(每秒向Redis查詢更新以獲取對Node.js服務器的請求)。
代替進行服務器端輪詢並通過WebSocket公開更新是否有優勢? 每個WebSocket連接都將需要單獨的Node.js輪詢(setInterval),因為客戶端查詢可能有所不同。 但預計WebSocket連接不會超過100個。
這兩種方法之間有什么利弊?
如果我正確理解了您的問題:您將同時使用資源的用戶少於100個,並且您想找出一種更好的方式向他們提供更新:
我認為最好的解決方案取決於您擁有的數據以及用戶獲取此數據的重要性。
如果出現以下情況,我會選擇客戶端:
如果出現以下情況,我將使用服務器端:
一件好事是,node.js已經為此目的提供了一個出色的socket.io庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.