【问题标题】:comet vs pubsub..?彗星vs pubsub ..?
【发布时间】:2010-11-24 15:30:33
【问题描述】:

我可以知道这两种方法有什么不同吗?能通俗点解释吗?

【问题讨论】:

  • 正如 Dlauer 所说,实际上并没有什么区别——你无法比较它们,它们是完全不同的两个东西。 Comet 是长寿命的 HTTP 连接。 Pub/sub 是一种对主题感兴趣的建模方式 - 在中间件、MQ、Comet 或其他任何东西......

标签: java jetty comet dwr publish-subscribe


【解决方案1】:

Comet 是一种将实时数据推送到网络浏览器的技术,因此页面可以不断更新。欲了解更多详情,请参阅此页面about Comet

Pub/Sub(或发布/订阅)与 Comet 没有什么不同,它是一种告诉 Comet 服务器您想要接收什么数据的方式(订阅)并将数据发送给其他订阅者(发布)。许多 Comet 服务器实现了 pub/sub 模型。

StreamHub Comet Server 中的真实示例:

订阅:我想接收有关 Google 的新闻:

hub.subscribe("/news/google", function(sTopic, oData) { alert("Received news article about Google: " + oData.Article});

发布:我想提供一些关于 Google 的新闻:

hub.publish("/news/google", "{'Title':'Google Expanding Access To Wave Soon, First Impressions','Article':'According to Google, included in this group of early testers will be some of the businesses using Google Apps. In anticipation of this wider release, ...'}");

任何订阅主题“/news/google”的人都会收到我在上面发布的文章 - 这就是 pub/sub 的工作原理。

【讨论】:

    【解决方案2】:

    Publish-subscribe 是一种将发布者与订阅者分离的异步通信方式。发布者不是将消息发送给特定的订阅者,而是发布关于某个主题的消息。订阅者订阅该主题。一个给定的主题可以有许多发布者和许多订阅者。

    例如,在交易系统中,Google 股票的交易可能会发布在“Trade.GOOG”主题上。然后,订阅者可以通过收听必要的主题来收听特定股票的交易。

    Comet 是一种基于 Web 的技术,用于使用长寿命 HTTP 连接进行服务器推送。

    想象一个扑克网站。您的浏览器可以与服务器建立连接,这实际上会一直挂起,直到轮到您做某事(加注、跟注等),而不是每隔几秒钟刷新一次以查看您是否需要做某事。轮询是另一种解决方案。

    它们的相似之处在于它们本质上是一种异步通信方式,但在其他方面却不同。

    【讨论】:

    • 我了解你解释的彗星。但是在您的pubsub上...用外行的话。请
    • Publish-Subscribe 相当于现实世界的杂志。您订阅它,并在他们发布时收到它。该杂志不仅适合您……还适合所有订阅者。
    • 是不是说,它比使用彗星更好?
    猜你喜欢
    • 2011-09-29
    • 2010-12-31
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多