キューとトピックの違いとは?分かりやすく解説!

スポンサーリンク
スポンサーリンク


キューとトピックの主な違いは、キューがポイント・トゥ・ポイントのメッセージ領域で使用されるメッセージ指向のミドルウェアであるのに対し、トピックはパブリッシャー・サブスクライバのメッセージ領域で使用されるメッセージ指向のミドルウェアである点です。

Java Message Service (JMS) は、Sun Microsystems社のアプリケーション・プログラム・インターフェース (API) で、ネットワーク上のコンピュータ間でメッセージングと呼ばれる正式な通信をサポートするものです。

つまり、分散アプリケーションの様々なコンポーネント間で信頼性の高い通信を確立するのに役立つ。

さらに、JMSにはポイントツーポイントとパブリッシャーサブスクライバーという2つのメッセージングドメインまたはモデルがあります。

スポンサーリンク

キューとは

Point to Point モデルでは、送信者は受信者にメッセージを送信する。

送信者はメッセージをキューに格納し、受信者はキューからメッセージを読み出す。

受信者がメッセージを読むまで、メッセージを保持する。

キューはポイント・トゥ・ポイントのメッセージング領域におけるメッセージ指向のミドルウェアとして機能する。

このモデルでは、送信者はメッセージの宛先について知っている。

つまり、メッセージの行き先を知っている。

Point to Point モデルでは、特定のタイミングを要求されることはない。

したがって、送信者はいつでもメッセージを送信することができる。

同様に、受信者はいつでもメッセージを読むことができる。

待ち行列のもう一つの利点は、受信者と送信者の同一性を確認できることである

このモデルでは、受信者は送信者に通知することができる。

したがって、送信者は受信者がメッセージを正常に取得したことを知ることができる。

トピックとは

publisher or subscriber モデルでは、publisher がメッセージを投稿または公開すると、subscriber はそれを読むことができます。

ブロードキャストと似ています。

つまり、複数の購読者が存在するのです。

トピックは、メッセージを保持し、配信する役割を担っています。

さらに、このモデルでは、サブスクライバーがメッセージを取得するためには、パブリッシャーがアクティブでなければならない。

もしそうでなければ、メッセージを再割り当てする可能性がある

さらに、確認応答もありません。

したがって、パブリッシャーはサブスクライバーを一人も持た ないということになりかねない。

キューとトピックの違い

定義

キューは、受信者の準備が整うまでメッセージを保持するメッセージ指向のミドルウェアです。

これに対し、トピックは、メッセージを保持し、購読者に配信する役割を担うメッセージ指向のミドルウェアです。

したがって、ここがキューとトピックの主な違いです。

機能性

Point to Pointメッセージングでは、送信者はキューにメッセージを格納し、受信者はキューからメッセージを読み取ります。

一方、publisher, subscriberメッセージングでは、送信者はトピックにメッセージを格納し、トピックは購読者にメッセージを配信する。

顧客数

また、キューとトピックのもう一つの違いは、キューがレシーバーで動作するのに対して、トピックは複数のサブスクライバーで動作することである

結論

Java Message Service (JMS) は、メッセージを送信するための Java メッセージ指向のミドルウェア API です。

主に point to point と publisher-subscriber の2つのメッセージングモデルまたはドメインをサポートしています。

Point to Point はキューを使い、Publisher-Subscriber はトピックを使います。

キューとトピックの主な違いは、キューがポイント・トゥ・ポイントのメッセージ領域で使われるメッセージ指向のミドルウェアであるのに対し、トピックはパブリッシャーサブスクライバーのメッセージ領域で使われるメッセージ指向のミドルウェアである点です。

タイトルとURLをコピーしました