3

しばらく前に、LMAX ディスラプターと、それが標準のメッセージ キューと比較してどの程度パフォーマンスが高いかについて聞かされました。最新バージョンをダウンロードしたところ、超高速の RingerBuffer オブジェクトを中心に展開する多くのクラスと型を含む通常の JAR であることがわかりました。

結局のところ、キューベースの JMS プロバイダーは、Java キュー オブジェクト (または、並行キューの可能性が高い) を管理する大量のコードに要約されます。この点で、LMAX ディスラプターと JMS プロバイダー (というか、内部キュー) との比較を見ることができます。

しかし、JMS プロバイダーは単なるキューではありません。これは、消費者と生産者との間のメッセージングを処理するための完全なミドルウェア アプリケーションです。LMAX ランドに同等の JMS プロバイダーがあるかどうか疑問に思っていますか?

他の JMS ブローカと同様の方法で「ディスラプター ブローカ」に接続し、メッセージを読み書きできると便利です。

このようなものは存在しますか、それとも私はここから離れていますか?

4

2 に答える 2

7

主な違いは、ディスラプターが同じプロセスで動作するように設計されていることです。なんで?パフォーマンス上の理由から(簡単な答え)。より長い答えは、JMSインターフェイス、ソケット接続、ロック、および複数のスレッドを使用するための余分なオーバーヘッドに注意しないと、はるかに高いオーバーヘッドが発生し、ディスラプターが小さくなるということです。

高速JMSサービスは1秒あたり20,000を超えるメッセージを処理できますが、ディスラプターは1秒あたり2,000万を超えるメッセージレートを処理するように設計されています。これを達成するために、それはあなたがJMSが大丈夫だと仮定する特定のことをすることができないことを意味します。(上記を参照)

于 2012-04-26T21:03:08.830 に答える