【问题标题】:Comet for not-so-frequent events彗星用于不那么频繁的事件
【发布时间】:2010-10-10 21:19:25
【问题描述】:

是否值得将 Comet 用于“实时”不需要但可能延迟 1 分钟的事件。比如:

  • 推特状态更新
  • 脸书更新

我知道 Comet 非常适合聊天应用程序(Facebook 和 GTalk 聊天正在使用它),但是 twitter,例如,使用 comet。

或者 AJAX 轮询对于此类更新是否足够。为什么我认为它可能就足够了:

  • 轮询间隔为 1 分钟,您不会使用 ajax 请求在服务器上施加过多负载
  • “没有新数据”不是主要结果,例如在聊天应用中。
  • 没有服务器线程被保留,因此线程可以被多个客户端重用。因此,100 个线程的线程池可能被 200 个客户端使用,而 Comet 则为 100 个。(这不适用于我的情况,使用 Java - 请参阅this article,它解释了巧妙的线程重用)

(注意:我用“comet”表示保持连接打开的技术。有些人也倾向于将 ajax-polling 称为彗星,所以我做出澄清 - ajax-polling != 以上问题中的彗星)

【问题讨论】:

    标签: javascript ajax web-applications comet


    【解决方案1】:

    听起来你已经很好地回答了你自己的问题:) 要记住的另一件事是,您不会像使用一些长期运行的彗星解决方案那样使用<script> 标签填充您的DOM。

    【讨论】:

      【解决方案2】:

      这个问题的问题在于,你似乎和任何人一样有资格回答。这是一种权衡取舍,鉴于你没有确切地说明你在做什么,所以很难说哪个是较小的邪恶。

      【讨论】:

      • 假设它就像我提到的两个功能 - 来自服务器的 twitter 和 facebook 更新(当出现“显示更多”按钮时)
      • 由于 Twitter 和 Facebook 正在处理相当大的流量负载,我可能会称之为 AJAX 轮询,除非你能找到一种方法让服务器和网络设备轻松处理所有同时连接。跨度>
      • 上述句子中的“呼叫”是什么意思? :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-28
      • 1970-01-01
      • 2019-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-23
      相关资源
      最近更新 更多