1.3. AMQ 7 の重要な新コンセプトについて

各 AMQ 機能エリアでの特定の設定変更について理解する前に、最初に AMQ 6 と AMQ 7 の重要な概念的な相違点を理解しておく必要があります。

AMQ 7 には、いくつかの主要なアーキテクチャー的な違いがあります。さらに、本リリースには新しいメッセージアドレス指定とルーティングモデルが実装されました。

1.3.1. AMQ 7 のアーキテクチャー的な変更

AMQ 7 は、ブローカーへの受信ネットワーク接続の方法、メッセージストア、およびブローカーのデプロイ方法に関する主要なアーキテクチャー的な変更を提供します。

受信接続のトランスポートコネクターの変更

AMQ 6 では、TCP (同期) や Java NIO (ブロック以外) などの異なるタイプのトランスポートコネクターを使用していました。

AMQ 7 では、使用するトランスポートタイプを選択する必要がなくなりました。異なる仮想マシンのエンティティー間の受信ネットワーク接続はすべて Netty 接続を使用します。Netty は、Java IO、Java NIO、TCP ソケット、SSL/TLS、HTTP、および HTTPS を使用するようネットワーク接続を設定できる高パフォーマンスの低レベルネットワークライブラリーです。

メッセージストアおよびページングの変更

AMQ 7 では、ブローカーがメッセージをメモリーに保管し、それらのメッセージをディスクにページングするプロセスが異なります。

AMQ 6 では、メッセージストアに KahaDB が使用されました。これは、高速で連続するメッセージの保存用のメッセージジャーナル、および必要に応じてメッセージを取得するインデックスの両方で構成されます。

AMQ 7 には、追加のみのメッセージジャーナルで構成される独自のビルトインメッセージストアが含まれています。インデックスは使用されません。

これらの変更の詳細は、「メッセージの永続化およびページング」を参照してください。

ブローカーデプロイメントの変更

AMQ Broker 7 では、以下のようにブローカーのデプロイメントは AMQ 6 とは異なります。

  • デプロイメントメカニズム

    AMQ 6 はデフォルトで Apache Karaf コンテナーにデプロイされました。AMQ Broker 7 は Apache Karaf コンテナーにデプロイされません。

  • 複数のブローカーのデプロイ

    AMQ 6 で複数のブローカーをデプロイするには、スタンドアロンブローカーのコレクションをデプロイするか (各ブローカーを個別にインストールおよび設定する必要がある)、JBoss Fuse Fabric を使用して AMQ ブローカーのファブリックをデプロイする必要がありました。

    AMQ Broker 7 で複数のブローカーをデプロイするには、AMQ Broker 7 を一度インストールしてから、同じマシンに、必要なだけ ブローカーインスタンス を作成します。AMQ Broker 7 は、ファブリックを使用してデプロイされる想定ではありません。