【问题标题】:Which communication technology should I use for pushing data stream to the website users [closed]我应该使用哪种通信技术将数据流推送给网站用户[关闭]
【发布时间】:2018-07-19 07:56:38
【问题描述】:

我正在建立一个网站,我希望允许用户订阅各种实时数据流。他们将订阅少量流,只要它们连接,它就会将数据推送回来。问题是,哪种技术更适合这个:Server Send Eventets、Websockets、HTTP/2、Comet?我应该使用什么来获得最佳结果?我的目标是拥有大量用户。将感谢您的答案为我指明最佳方向。

【问题讨论】:

    标签: websocket streaming comet server-sent-events http2


    【解决方案1】:

    在讨论 the role of AJAX(对于 CRUD 非常有用,而不是在轮询时)和比较 Websocket performance vs. AJAX performance(涉及实时更新时,Websockets 总是更快)时,已经讨论过这一点。

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

    【讨论】:

    • 我正在用 Go 编写自己的后端来处理数据流。如果没有您的 redis 建议,我可能会重新发明轮子(我最近一直在阅读有关 redis 的文章)。非常感谢。
    • @orzel ,我很高兴能帮上忙 :-)
    • 我假设我可以省略 WS 低开销的批处理?
    • @orzel 可以省略批处理,但是(取决于您的应用程序逻辑),批处理可以通过最小化 TCP/IP 开销来改善 TCP/IP 打包和带宽,所以它仍然是一个好主意。 . 另一方面,我有时会避免批处理以支持模块化代码和关注点分离——尤其是当我使用允许我将发布/订阅直接转发到客户端的脚本语言时(跳过脚本层)。这是你的电话,真的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-27
    • 2013-02-01
    • 2019-12-15
    • 1970-01-01
    相关资源
    最近更新 更多