2012-11-14 21 views
12

私はJMSに新規です。私はトピックのJavaアプリケーションからメッセージを公開しており、 クライアント(node.js javascript)からメッセージを受信して​​います。http://en.wikipedia.org/wiki/Java_Message_Serviceを通過しました。 私は以前の大脳の理解と上記のリンクで提案されていることに基づいて疑問を持っていますか?PointToPointとJMSのPublish/Subscribeモデル

私が理解しているように、ポイントツーポイントは、キューに登録されたコンシューマが最大1人であり、 がそれだけで消費されるキュー実装です。プロデューサーも消費者も互いのことを知っていません。Queueは、私のケースではApacheのアクティブMQのメッセージブローカーでホストされています。 メッセージを公開する前に、プロデューサによってキューを作成できます(またはコンソールから事前に作成できます)。

パブリッシュ/サブスクライブモデルの場合、キューの代わりにトピックを使用している点を除き、PointToPointとほとんど同じです。このモデルでは、トピックあたりの消費者数は 以上です。メッセージが公開されると、すべてのサブスクライバに通知されます。ここで、サブスクライバ のいずれかがパブリッシュされたメッセージの肯定応答を送信すると、メッセージは消費されたとみなされ、新しいサブスクライバは使用できなくなります。

答えて

20

ポイントツーポイントとは、あるアプリケーション(プロデューサまたは送信者)からキューを介して別のアプリケーション(コンシューマ/受信者)にメッセージが送信されることを意味します。複数の消費者が待ち行列を聴いているかもしれませんが、そのうちの1人だけがメッセージを受け取るでしょう。したがって、ポイントツーポイントまたは1対1です。

一方、パブリッシュ/サブスクライブは、メッセージ(または一般に呼び出されるパブリケーション)がトピックを介して複数のコンシューマ(またはサブスクライバ)に送信される別のメッセージングモデルです。トピックは、パブリッシャーとサブスクライバー間のリンクです。サブスクライバは、公開されたメッセージを承認することも、承認しないこともあります。 JMSのような実装は、メッセージの送信者ではなく、メッセージの送信者であることを確認します。出版物は、耐久性と非耐久性、すべての加入者によって受信されます。同じトピックの新しい購読者は、Retainedパブリケーションでない限り、パブリケーションを取得しません。私はあなたが、さらに上の読み取りに推薦する

  1. 耐久性のあるサブスクリプション
  2. は、非永続サブスクリプション
  3. 留保出版
+0

ます。http:// verticalhorizo​​ns。 in-point-to-pointとpublishsubscribe-jms-meの違いssaging-models/- ポストは同じ情報をテーブルの形式で持っています。 – Alexey