JMS キューと JMS トピックの比較
キューとトピックはどちらも Java Message Service の要素です。Java Message Service は、ソフトウェア コンポーネントを接続し、プロセスが相互に対話できるようにする Java ミドルウェア テクノロジです。 JMS 要素 (プロバイダー、クライアント、メッセージ、キュー、トピック、サブスクライバー、およびパブリッシャー) が連携して、コンピューター ネットワーク内のシステム間で信頼できる通信を提供し、メッセージを適切な申請者に配信します。キューとトピックには類似点と相違点があります。
メッセージング モデル
JMS メッセージングの 2 つのモデルは、パブリッシュ アンド サブスクライブとポイント ツー ポイントです。パブリッシュ アンド サブスクライブ、または pub/sub を使用すると、プロデューサーはメッセージを同時に多数のユーザーに送信できます。コンシューマーは、特定のトピックまたはチャネルにサブスクライブし、選択したトピック内のすべてのメッセージを受信できます。このモデルは非同期です。ポイントツーポイント (p2p) を使用すると、ユーザーは、キューと呼ばれるさまざまなチャネルを使用して、非同期と同期の両方でメッセージを送信できます。通常、p2p モデルでは、ユーザーは、チャネルにサブスクライブして特定のトピックで送信されたすべてのメッセージを受信するのではなく、プロデューサーがキューに送信するメッセージを要求します。
トピック チャンネル
JMS トピックは、JMS メッセージングのパブリッシュ/サブスクライブ モデルで、プロデューサから特定のメッセージを受信するためにユーザーがサブスクライブするチャネルです。このモデルは、新聞の購読に例えることができます。たとえば、John Doe が「The New York Times」を購読すると、新聞社から毎日新聞を受け取ります。同様に、John Doe が JMS メッセージングを使用して特定のトピックをサブスクライブした場合、そのトピックに関するプロデューサーから送信されたすべてのメッセージを受信します。
キュー システム
JMS キューは、特定のトピックに関するメッセージを自動的に受信するのではなく、p2p モデルを使用してユーザーが受信したいメッセージを「プル」するチャネルです。プロデューサはメッセージをキューに送信し、受信者はキューを参照して受信するメッセージを決定できます。 p2p モデルでは、ユーザーは配信を受け入れるかどうかを決定する前に、キューに保持されているメッセージの内容を確認できます。
本来の目的
JMS はさまざまな方法で使用されますが、さまざまなアプリケーションが相互に通信できるようにするために特別に作成されました。技術が進歩し、新しいコンピュータ アプリケーションが作成されるにつれて、アプリケーションを相互接続して相互運用できるメッセージング システムが不可欠です。 pub/sub と p2p という 2 つの JMS 通信モデルにより、さまざまなアプリケーションが相互に簡単かつ確実にやり取りできるようになります。