2

通知サービスのさまざまな JMS 実装を負荷テストしました。ActiveMQ、HornetQ、および OpenMQ のいずれも期待どおりに動作しません (信頼性とメッセージの優先順位付けの問題)。しかし、今では OpenMQ で最高の結果が得られています。おそらく設定ミスに過ぎない 2 つの問題が予想されます (希望します)。JDBC ストレージを備えたもの

テスト シナリオ:

1 つのキューを持つ 2 つのプロデューサーが、異なる優先度でメッセージを送信します。プロデューサーが生成するよりもわずかに遅い一定の速度でキューから消費する 1 つのコンシューマー。OpenMQ はスタンドアロンで実行され、PostgreSQL を永続ストレージとして使用します。すべてのメッセージは Apache Camel ルートから送信および消費され、すべて永続的です。

問題:

  1. 約 50000 件のメッセージの後、メモリ不足に関する警告とエラーが OpenMQ ログに表示されます (256Mb ヒープ サイズでのデフォルト設定)。プロデュースはブローカーによって抑制され、しばらくするとブローカーはディスパッチをまったく停止します。ブローカーの JVM メモリ使用量が最大になっています。

その目標を達成するためにブローカーを構成する方法:

  • ブローカは、キュー サイズ (最大 1 000 000 メッセージ) とメモリ制限に依存しません。パフォーマンスは問題ではなく、信頼性のみです。

それは可能ですか?

4

1 に答える 1

0

私は OpenMQ については支援できませんが、おそらく Camel と ActiveMQ については支援できます。ActiveMQ でどのような問題に直面していますか? camel ルートを投稿して、最終的にはコンテキストと activemq 構成をスプリングできますか?

于 2011-12-27T08:21:26.270 に答える