8

私はActiveMQ 5.8.0自分のプロジェクトで使用しようとしています。と の 2 つの異なるストレージ構成がKahaDBありLevelDBます。問題によっては、Kaha が Level より速くなったり、Level が Kaha より速くなったりします。

それらの本当の違いは何ですか?

4

2 に答える 2

8

2 つのストアは、どちらもインデックスを使用して、Journal に書き込まれたメッセージの場所と状態を追跡するという点で似ています。相違点は、特にインデックスの実装方法にあります。LevelDB は KahaDB よりもわずかに高速なインデックスであり、多少優れたパフォーマンス数値を提供できます。ActiveMQ の以降のリリースでは、LevelDB ストアもレプリケーションをサポートしています。

LevelDBストアの実装がまだ非常に若い古いリリースを使用していることを考えると、KahaDBの方がはるかに成熟しており、初期のバグの多くが解決されているため、KahaDBに固執することをお勧めします. 5.8 の LevelDB ストアは実際には本番環境に対応しておらず、おそらく問題が発生する可能性があります。最新リリースの v5.10 に移行すると、LevelDB がより堅牢になります。

注: LevelDB はコミュニティによって廃止され、サポートされなくなりました。ActiveMQ 5.17.0 で完全に削除される可能性があります。

于 2014-07-06T10:59:33.243 に答える
6

新しいプロジェクトでは、LevelDB for ActiveMQ には近づかないでしょう。KahaDB、LevelDB の図は多少変更されました。

LevelDB ストアは廃止され、サポートも推奨もされなくなりました。おすすめ店はKahaDB

これは、LevelDB のドキュメント ( http://activemq.apache.org/leveldb-store.html ) で確認できます。

そのため、KahaDB、LevelDB の図は多少変更されました。3 つの Zookeeper インスタンスによって監視される 3 つの ActiveMQ インスタンスを備えた本番セットアップに LevelDB を使用することを検討しました。プロトタイプは非常にうまく機能しましたが、ActiveMQ インスタンスのクラッシュをシミュレートするとき、そのインスタンスの再起動中に LevelDB の破損が時折発生しました。

永続的なメッセージングが必要な場合は、次の選択肢があります。

  • Apache ActiveMQ とデータベースを永続的なメッセージ ストア (jdbc) として使用する
  • KahaDB メッセージ ストアに共有ブロック レベルまたはファイル レベルの共有ファイル システム (NFS、CIFS、または GlusterFS) を使用し、ActiveMQ マスター / スレーブと連携します。
  • Apache ActiveMQ アルテミス
  • アパッチ・カフカ
于 2017-01-17T10:45:36.033 に答える