2017-08-20 16 views
0

私はrabbitmqセットアップで状況があります。関連する2台の仮想マシンがありますこれらのキューに関連付けられたリスナーがあるにもかかわらず、RabbitMQキューに一定期間のメッセージが蓄積されます。

  1. :私のシナリオは、以下のように

    セットアップです。

  2. 両方のVMが、ループで7秒ごとに25メガバイトのサイズのメッセージを送信しています。
  3. マシン間でメッセージを送信するためのシャベル設定があります。
  4. 両方のマシンには、他のマシンから送信されたメッセージを消費するリスナーがあります。
  5. リスナーはメッセージを消費して出てきます。リスナー側での処理はありません。
  6. rabbitmQブローカーはSSL有効です。
  7. 私はSpring RabbitMqを使用しています。
  8. 私はリスニングのためにSimpleMessageListenerContainerを使用しています。

私の問題:一定の期間にわたって

  1. は、継続的なメッセージ交換の1.5日後、 は、キュー内のメッセージの蓄積があると言います。

  2. リスナーは稼働していますが、消費時間は、 の期間にわたって減少し、メッセージはキューに積み重なります。

  3. キューに蓄積されたメッセージの一部は、未実装状態です。

物事は私が試してみたい:

  1. は増加はありません。キューのリスナーの数。
  2. リスナーのプリフェッチ数を増やします。

私の質問のメッセージが時間をかけて蓄積してしまったのはなぜ

  1. の間にネットワーク障害がありました。ネットワーク障害に取り組むために、リスナーに追加のパラメータを追加する必要がありますか?

ここに案内してください。より堅牢にするためにセットアップを微調整するのに助けが必要です。

+0

あなたの入力をありがとう。私はrabbitmq 3.6.10バージョンのみを使用しています。私のセットアップに関するいくつかの入力:1.両方のVMMで実行されているそのJavaプロセス。 2.両方のマシンに25のキューがあります。送信者プロセスは25スレッドを生成し、7秒ごとに25MBのデータを送信します。各スレッド間のギャップは7秒です。 4.送信者から受信者にメッセージを送信するために作成されたシャベルが25個あります。 5.受信側では、すべての25個のキュー**に対して1つのリスナーのみが存在します。あなたに必要な情報を教えてください。 –

答えて

0

ここで誰かがあなたのアプリケーションをデバッグすることは非常に困難です。

消費率は、アプリケーションの症状はなく、そのメッセージングシステムやフレームワークのような最もある一定の期間

とともに減少します。私はそこから始めるだろう。

間にネットワーク障害がありました。

最近のバージョンのRabbitMQでは、ハートビートがデフォルトで有効になっているため、このような「妨害」が検出されるはずです。

+0

こんにちは、あなたの入力をありがとう..私はrabbitmq 3.6.10バージョンのみを使用しています。私のセットアップに関するいくつかの入力:1.両方のVMMで実行されているそのJavaプロセス。 2.両方のマシンに25のキューがあります。送信者プロセスは25スレッドを生成し、7秒ごとに25MBのデータを送信します。各スレッド間のギャップは7秒です。 4.送信者から受信者にメッセージを送信するために作成されたシャベルが25個あります。 5.受信側では、すべての25個のキューに対して1つのリスナーしかありません。あなたに必要な情報を教えてください。 –

関連する問題