2012-04-26 12 views
3

私は、LMAX混乱要因について、そしてそれが標準的なメッセージキューとどのように比較されているかについて話しました。私は最新のバージョンをダウンロードし、それが超高速のRingerBufferオブジェクトの周りを回転する多くのクラスとタイプを含む通常のJARであることを確認します。LMAX Disruptor vs JMS Provider

最終的に言えば、キュ​​ーベースのJMSプロバイダは、最終的には、Javaキューオブジェクト(または並行キュー)を管理する多くのコードに沸かせようとしています。この点で、私はLMAX DisruptorとJMSプロバイダ(または内部キュー)との比較を見ています。

しかし、JMSプロバイダーはいくつかのキューをはるかに超えています。これは、コンシューマとプロデューサ間のメッセージングを処理するためのミドルウェアアプリケーション全体です。私はLMAX土地に相当するJMSプロバイダがあるのだろうか?

他のJMSブローカーと同様の方法で「Disruptor Broker」に接続し、そこからメッセージを読み書きすることもできます。

このようなものが存在するのですか、ここで私はオフベースですか?

答えて

5

主な違いは、Disruptorは同じプロセスで動作するように設計されていることです。どうして?パフォーマンス上の理由から(短い回答)。より長い答えは、JMSインタフェースを使用する際の余分なオーバーヘッドを注意しないと、ソケット接続、ロック、および複数のスレッドがDisruptorを矮小化するはるかに高いオーバーヘッドを持つことです。

高速JMSサービスは1秒あたり20,000件以上のメッセージを処理できますが、混乱は2千万件以上のメッセージ速度を処理する設計です。これを実現するには、JMSが正常であると想定する特定のことを実行できないことを意味します。 (上記参照)

関連する問題