我应该使用哪种通信技术向网站用户推送数据流

Which communication technology should I use for pushing data stream to the website users

我正在构建一个网站,我希望用户可以在其中订阅各种实时数据流。他们将订阅几个流,只要它们连接,它就会将数据推回。问题是,哪种技术更适合这个:Server Send Evenets、Websockets、HTTP/2、Comet?我应该使用什么来获得最佳结果?我的目标是拥有相当多的用户。如果您能给我指出最佳方向的答案,我们将不胜感激。

双方在讨论 the role of AJAX (great for CRUD, not so much when polling) and when comparing Websocket performance vs. AJAX performance 时已经讨论过(Websockets 在实时更新方面总是更快)。

Comet 和 SSE 是 HTTP 轮询的有趣风格,但最终它们只能在一定程度上减轻副作用,而 Websockets(通常与 publish–subscribe pattern 使用 Redis 或类似的东西结合使用)是最好的工作的工具。