MSMQ について知っておくべき制限はありますか?
メッセージの読み書きに使いたいが、メッセージが多い。
数値は 1 分間で約 200,000 ~ 300,000 になるはずです。
何かご意見は?それは動作するはずですか?
MSMQ はキューであり、主な利点はメッセージの送信者と受信者を切り離すことです (たとえば、受信システムをオフラインにすることができます)。
保証されたレイテンシが要件である場合は、別の方法を検討します (例: .NET リモーティング / WCF NetTCP バインディングなど)。
とはいえ、バースト レート >> 500 メッセージ/秒の低グレード ハードウェアで MSMQ を使用しましたが、統合 (EAI) 環境では、MSMQ の利点は次のとおりです。
低遅延は決して要件ではなく、信頼性と完全性が主な原動力でした。
小さくて非トランザクションのメッセージの場合、これは理論的には可能ですが、私が個人的に聞いた話の上限です。ただし、トランザクション キューには近づかないでください。現実的なプラットフォームでそのようなスループットを実現できるとは思えません。
MSMQ でこの種のボリュームに問題があったのは、恐ろしいリソース不足の問題が原因です。
これはまれな出来事のように思えますが、私には数回起こりました。
この記事を参照してください:リンクMSMQ はストレージ製品として使用するのではなく、トランスポート メカニズムとして使用する必要があると書かれています。
キューからメッセージを読み取り、トランザクション方式で処理するサービスを持つことができます。ここ (MSDN リンク) でいくつかの例を見つけることができます。小さなサンプルを作成し、いくつかの負荷テストを行い、動作するかどうかを確認してください。