3

MSMQ について知っておくべき制限はありますか?

メッセージの読み書きに使いたいが、メッセージが多い。

数値は 1 分間で約 200,000 ~ 300,000 になるはずです。

何かご意見は?それは動作するはずですか?

4

4 に答える 4

5

MSMQ はキューであり、主な利点はメッセージの送信者と受信者を切り離すことです (たとえば、受信システムをオフラインにすることができます)。

保証されたレイテンシが要件である場合は、別の方法を検討します (例: .NET リモーティング / WCF NetTCP バインディングなど)。

とはいえ、バースト レート >> 500 メッセージ/秒の低グレード ハードウェアで MSMQ を使用しましたが、統合 (EAI) 環境では、MSMQ の利点は次のとおりです。

  • 非同期 - メッセージを送受信するプロセスは、さまざまな速度で発生する可能性があります
  • 潜在的なトランザクション (たとえば、DTC では、メッセージをキューに入れ、UOW の下でデータベースで更新できます)
  • 監査済み (ジャーナリング)
  • デッド レター キュー - つまり、定義された期間が経過しても受信者がメッセージを取得しない場合。

低遅延は決して要件ではなく、信頼性と完全性が主な原動力でした。

于 2012-08-16T13:06:18.507 に答える
2

小さくて非トランザクションのメッセージの場合、これは理論的には可能ですが、私が個人的に聞いた話の上限です。ただし、トランザクション キューには近づかないでください。現実的なプラットフォームでそのようなスループットを実現できるとは思えません。

于 2012-08-16T13:03:32.283 に答える
1

MSMQ でこの種のボリュームに問題があったのは、恐ろしいリソース不足の問題が原因です。

これはまれな出来事のように思えますが、私には数回起こりました。

于 2012-08-16T13:06:03.967 に答える
0

この記事を参照してください:リンクMSMQ はストレージ製品として使用するのではなく、トランスポート メカニズムとして使用する必要があると書かれています。

キューからメッセージを読み取り、トランザクション方式で処理するサービスを持つことができます。ここ (MSDN リンク) でいくつかの例を見つけることができます。小さなサンプルを作成し、いくつかの負荷テストを行い、動作するかどうかを確認してください。

于 2012-08-16T13:06:54.420 に答える