2009-09-01 13 views
7

私はこれらの2つのアプローチの違いは何ですか?レイ・マンの言葉で説明することができますか?彗星対pubsub ..?

+0

DLauerによれば、実際には違いはありません。それらを比較することはできません.2つの全く異なるものです。 Cometは永続的なHTTP接続です。 Pub/subは、ミドルウェア、MQ、Cometなど、トピックのモデリングの方法です。 – Corehpf

答えて

6

彗星はリアルタイムデータをウェブブラウザにプッシュする技術であり、ページを継続的に更新することができます。詳細はabout 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"というトピックを購読すると、上で公開した記事が表示されます。

4

Publish-subscribeは、パブリッシャとサブスクライバを切り離す非同期通信手段です。特定のサブスクライバにメッセージを送信するのではなく、トピックに関するメッセージを公開します。購読者はトピックを購読します。特定のトピックには多くのサイト運営者と多数のユーザーが参加できます。

たとえば、取引システムでは、Googleの株式取引が「Trade.GOOG」のトピックに掲載される可能性があります。購読者は、必要なトピックを聞いて、特定の株式の取引を聴くことができます。

Cometは、長寿命HTTP接続を使用するサーバープッシュのためのWebベースの技術です。

ポーカーのウェブサイトを想像してみてください。ブラウザがサーバーに接続する可能性があります。何かをする必要があるかどうかを確認するために、数秒ごとにリフレッシュするのではなく、何かをする順番(盛り上げ、電話など)をするまで本質的にハングアップします。ポーリングはこれに対するもう1つの解決策です。

両者の類似点は、基本的には非同期通信の手段であるが、そうでない場合は相違する点です。

+0

私があなたが説明した彗星について理解しています。あなたのパブで...レイ・マンの言葉で。 – cometta

+0

パブリッシュ・サブスクリプションは現実のマガジンと同等です。あなたはそれに服従し、彼らが出版するときそれを受け取る。雑誌はあなたのためだけではありません...それはすべての加入者のためです。 –

+0

それは彗星を使うよりも優れているのでしょうか? – cometta