21

私はJMSが初めてです。私はトピック上のJavaアプリケーションからメッセージを発行し、クライアント(node.js Javascript)からそれを聞いている「hello world」から始めました。このウィキペディアのエントリを確認しましたが、以前の理論的な理解に基づいていくつか質問があります。

私の理解によると、ポイントツーポイントは、キューにサブスクライブされたコンシューマーが最大 1 つ存在し、それによってのみ消費されるキューの実装です。生産者も消費者もお互いのことを知りません。私の場合、Apache ActiveMQ のメッセージ ブローカーでキューがホストされています。メッセージをパブリッシュする前にプロデューサーがキューを作成できます (または事前にコンソールから作成できます)。

パブリッシュ/サブスクライブ モデルの場合、キューの代わりにトピックを使用することを除いて、ポイント ツー ポイントとほとんど同じです。このモデルでは、そのトピックに関して複数の消費者が存在する可能性があります。メッセージが公開されると、すべての購読者に通知されます。サブスクライバーのいずれかがパブリッシュされたメッセージの受信確認を送信すると、メッセージは消費済みと見なされ、新しいサブスクライバーは使用できなくなりますか?

4

1 に答える 1

36

ポイントツーポイントとは、メッセージがキューを介してあるアプリケーション (プロデューサーまたは送信者) から別のアプリケーション (コンシューマー/受信者) に送信されることを意味します。キューでリッスンしているコンシューマーが複数存在する可能性がありますが、メッセージを受け取るのはそのうちの 1 つだけです。したがって、ポイント ツー ポイントまたは 1 対 1 です。

一方、パブリッシュ/サブスクライブは、メッセージ (または一般的に呼ばれるパブリケーション) がトピックを通じて複数のコンシューマー (またはサブスクライバー) に送信される別のメッセージング モデルです。トピックは、パブリッシャーとサブスクライバーの間のリンクです。サブスクライバーは、発行されたメッセージを承認する場合と承認しない場合があります。JMS などの実装は、メッセージの送信者ではなく、メッセージング プロバイダーにメッセージを確認します。パブリケーションは、永続および非永続のすべてのサブスクライバーによって受信されます。同じトピックの新しいサブスクライバーは、保持されたパブリケーションでない限り、パブリケーションを取得しません。

続きを読むことをお勧めしますが、

  1. 永続サブスクリプション
  2. 非永続サブスクリプション
  3. 保留出版物
于 2012-11-15T04:26:04.837 に答える