2009-09-01 15 views
7

kann ich wissen, was ist der Unterschied zwischen diesen beiden Ansatz? Kann man das mit Laien erklären?Komet vs Pubsub ..?

+0

Wie DLauer sagt, gibt es keinen Unterschied wirklich - Sie können sie nicht vergleichen, sie sind 2 völlig verschiedene Dinge. Comet ist langlebige HTTP-Verbindungen. Pub/sub ist ein Weg, Interesse an Themen zu modellieren - in Middleware, MQ, Comet oder was auch immer ... – Corehpf

Antwort

6

Comet ist eine Technologie zum Übertragen von Echtzeitdaten in einen Webbrowser - so kann die Seite ständig aktualisiert werden. Für weitere Details siehe diese Seite about Comet.

Pub/Sub (oder Publish/Subscribe) ist nicht anders zu Comet, es ist ein Weg, um einen Comet-Server mitzuteilen, welche Daten Sie erhalten möchten (Subscribe) und Daten an andere Teilnehmer zu senden (Publish) . Viele Comet-Server implementieren das Pub/Sub-Modell.

der realen Welt Beispiele in StreamHub Comet Server:

Abonnieren: Ich Nachrichten über Google erhalten möchten:

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

Publish: ich einige Nachrichten über Google beitragen wollen:

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, ...'}"); 

Jedermann abonniert zum Thema "/ news/google" erhält den Artikel, den ich oben veröffentlicht habe - so funktioniert Pub/Sub.

4

Publish-subscribe ist eine Methode der asynchronen Kommunikation, die Herausgeber von Abonnenten entkoppelt. Anstatt Nachrichten an bestimmte Abonnenten zu adressieren, veröffentlichen Publisher Nachrichten zu einem Thema. Abonnenten abonnieren das Thema. Ein bestimmtes Thema kann viele Publisher und viele Abonnenten enthalten.

Zum Beispiel könnten in einem Handelssystem Geschäfte von Google-Aktien zu einem Thema von "Trade.GOOG" veröffentlicht werden. Die Abonnenten könnten dann den Trades in bestimmten Aktien zuhören, indem sie sich die erforderlichen Themen anhören.

Comet ist eine Web-basierte Technik für Server-Push mit langlebigen HTTP-Verbindungen.

Stellen Sie sich eine Poker-Website vor. Ihr Browser könnte eine Verbindung zum Server herstellen, die im Wesentlichen hängen bleibt, bis Sie an der Reihe sind, etwas zu tun (Raise, Call, etc), anstatt Sie alle paar Sekunden zu aktualisieren, um zu sehen, ob Sie etwas tun müssen. Polling ist eine andere Lösung dafür.

Die Ähnlichkeit, die sie beide haben, ist, dass sie im Wesentlichen ein Mittel der asynchronen Kommunikation sind, aber ansonsten unähnlich sind.

+0

ich verstehe über Kometen, die du erklärt hast. aber auf deinem Pubsub ... in Laiensprache. Bitte – cometta

+0

Publish-Subscribe wäre das echte Äquivalent eines Magazins. Sie abonnieren es und erhalten es, wenn sie es veröffentlichen. Das Magazin ist nicht nur für Sie ... es ist für jeden Abonnenten. –

+0

heißt das, es ist besser als mit Kometen? – cometta