ActiveMQのは、JMS(Java Message Serviceの)仕様に基づいた非常に人気のあるサービスミドルウェアメッセージキュー、であり、それは純粋なJavaプログラムで、動作環境は、Java仮想マシンが必要です。
JMS仕様では、クラス2機種送受信するメッセージ定義:パブリッシュおよびトピックをサブスクライブ、ポイントキューにポイントを、支出および節約の重複かどうかを区別することができます。
1、ポイントキュー:メッセージが消費前に格納されるまで、消費者は繰り返すことができません。
プロデューサーは、にメッセージを送信、キュー消費者の退避をして、メッセージを消費します。
メッセージが消費された後、キューはもはや保存され、すべての消費者は、1つのメッセージのみを取ることができます。
複数のコンシューマキューが存在するためにサポートしていますが、1件のメッセージのみ消費者が消費することができます。
それが個人消費になるまで消費者の現在の不在は、メッセージが保存されたままになります。
2、パブリッシュおよびサブスクライブのトピック:すべての加入者に配布繰り返し消費を、。
プロデューサーにメッセージを投稿しより多くの加入者がメッセージを受信し、消費し、話題。
そして別のキュー、トピックに投稿されたメッセージは、すべての加入者を消費されます。
生産者は、かどうかに関係なく加入者のことを発表したとき、メッセージは保存しないでください。
JMS仕様では、クラス2メッセージ送信キューおよびトピックモデルの比較を定義します。
キュー |
トピック |
|
モデル |
ポイントポイントツーポイント |
パブリッシュ・サブスクライブパブリッシュ/サブスクライブ |
状態かどうか |
Q ueue 消費量が保存されている前に、ニュースサーバーMQ上のファイルまたは構成DB |
トピックデータはデフォルトで保存されていない、それはステートレスです。 |
整合性の保証 |
各メッセージは、消費者が受信したことを確実にするキュー |
トピックがリリースされ、各メッセージプロデューサは、加入者が受信されることを保証するものではありません。 |
メッセージが失われるかどうか |
メッセージは、消費者がメッセージを受信し、キューにプロデューサが送信しました。何の消費者が保存されていないならば、失われていません。 |
生産者がトピックに発表したとき、現在の加入者は、メッセージを受信することができます。あなたが現在加入していない場合、メッセージが失われます。 |
ニュースリリース戦略を受け取ります |
一つは、ポリシーニュースリリースを受けて、ニュースのプロデューサーは、消費者に受け送りました。MQサーバーが応答を受信した後、メッセージが削除されます。 |
多くのポリシーニュースリリースを受け、同じトピックの複数の加入者は、リリースのニュースプロデューサーを受け取ることができます。 |