我正在开发显示来自Redis的实时数据(图表等)的应用程序。 Redis的更新数据非常快(毫秒)。因此,尽可能经常地显示更新是有意义的(只要人眼可以注意到它)。
技术堆栈:
现在我有客户端轮询(每秒向Node.js服务器发出GET请求,询问Redis的更新)。
是否有优势进行服务器端轮询,并通过WebSocket公开更新?每个WebSocket连接都需要单独的Node.js poll(setInterval),因为客户端查询可能不同。但预计不会有超过100个WebSocket连接。
这两种方法之间的优缺点是什么?
答案 0 :(得分:5)
如果我正确理解了您的问题:您只有不到100个用户同时使用您的资源,并且您想知道什么是更好的方式来为他们提供更新:
我认为最佳解决方案取决于您拥有的数据以及用户获取此数据的重要程度。
如果符合以下情况,我会选择客户端:
我会选择服务器端if:
有一件好事是node.js已经有了一个很好的socket.io库用于此目的。