私は私の生産者はすでに非常に高速であるとしてメッセージを消費/処理する必要はありませ ActiveMQ非永続配信モードの制限?
- を必要な場所私はActiveMQのを使用していますサーバーのクラッシュやその他の障害が発生した場合に再度通知します。私はプロセス全体を再度トリガーすることができます。
- 非常に通常のコンフィギュレーション・サーバを実行する必要がある - 4Gib RAM
プット/フェッチのための春の統合を使用non-persistent delivery mode
(vm://localhost
)(http://activemq.apache.org/what-is-the-difference-between-persistent-and-non-persistent-delivery.html)
- の下に与えられたとして、私はActiveMQのを設定していますキュー/チャネルからの/からのメッセージ。
10
スレッド - と
max-concurrent-consumers
を使用して - は、他のすべてのconfigsは、ActiveMQのでデフォルトと小枝統合によるものであると仮定します。
問題/質問
- 私は
non-persistent delivery mode
の場合はどのようにActiveMQのにメッセージが保存されるかわからない、それは私のキューサイズは、いくつかの制限を超えたら、私のプロセスは、メモリエラーのうちで失敗する可能性があります?私はこのプロセスを全面的にテストすることは非常に難しいので、これを求めています。だから私はプロセスを引き起こす前に制限について知っておく必要があります。 - 上記の条件で
non-persistent delivery mode
で十分でない場合は、persistent delivery mode
(tcp://
)で要件を満たすことができるパフォーマンスチューニングのヒントがありますか?私はすでにこのモードでテストしましたが、ここでは消費者が非常に遅いと思われます。また、私はすでにpersistent delivery mode
で消費者を早くするためにDUPS_OK_ACKNOWLEDGE
を使用しようとしましたが、運はありません。
注:私は、私は確認していない最新のActiveMQバージョン5.14
あなたのお返事ありがとうございます@MallowFox ..あなたは 'producer-flow'について少し説明できますか?私の理解によると、それは自動的に設定されているのですか?重負荷の場合にプロデューサの処理を遅くするために何かを行う必要がありますか? –
@Vishal Zanzrukia activemqのconfig xmlにmemoryUsage制限とtempUsage制限を設定するだけです。プロデューサーは重い負荷があると自動的に減速します。 – Solo