2017-09-16 11 views
0

プリフェッチ回数を動的に設定することは可能ですか?ここで私は達成したいと思ったものです。私はキューの加入者であるサービスを持っています。私は、プロセッサの使用量、RAMなどのサービスリソースを監視しているメカニズムを持っています。このメカニズムは、このリソースが多く使用されるときにサービスに通知します。だからこの通知が来たら、私はキューからのメッセージの取得をやめたい。それはキューから退会することによって行うことができますが、それは効率的でしょうか?この通知が来たら、プリフェッチ・カウントを1に動的に設定することは可能ですか?いいえ、この種のものを達成する方法は?私はサービスバスとしてC#とMasstTransitを使用しています。プリフェッチ回数を動的に設定する方法RabbitMq

答えて

1

すべてのメッセージの消費を停止する最も簡単な方法は、バスを停止することです。バスが停止していてもメッセージを送信することができます。メッセージの再受信を開始するには、バスを起動するだけです。

プリフェッチカウントを操作しても、メッセージの消費を防ぐことはできません。

あなたが説明しているような行動の良い習慣は、サーキットブレーカを使用することです。しかし、少なくとも、MassTransitで使用されているもの(GreenPipesからのもの)ではなく、外部から回路ブレーカを起動することはできません。特定の障害しきい値が特定の期間にわたって満たされた場合にのみトリガーされます。必要に応じて独自のバージョンを作成することもできます。アイデアを得るには、GreenPipesでどのように行われているか確認できます。

関連する問題