私たちは、サード パーティの Web サービスに対して最大数万回の小さな Web サービス呼び出しを行わなければならない .NET アプリを開発しています。より「分厚い」呼び出しを希望しますが、サードパーティはそれをサポートしていません. クライアントは、構成可能な数のワーカー スレッドを使用するように設計されており、テストを通じて、1 つのマルチコア マシン用にかなり最適化されたコードが用意されています。ただし、速度を向上させたいと考えており、複数のマシンに作業を分散することを検討しています。私たちは典型的なクライアント/サーバー/データベース アプリに精通していますが、複数のマシン向けの設計は初めてです。それで、それに関連するいくつかの質問:
- マルチスレッド以外に、http 要求/応答の速度を向上させるために検討すべきクライアント側の最適化はありますか? (これは非標準の Web サービスであるため、WCF または SOAP クライアントではなく、WebClient を使用して実装されていることに注意してください)
- 私たちの現在の考えでは、WCF を使用して作業のチャンクを MSMQ に発行し、クライアントを 1 つまたは複数のマシンで実行してキューから作業を引き出すというものです。私たちは WCF + MSMQ の経験がありますが、より良いオプションを見逃さないようにしたいと考えています。今日これを行うための他のより良い方法はありますか?
- DigiPede や Microsoft の HPC 製品などのサードパーティ製ツールを見てきましたが、これらはやり過ぎのように思えます。これらの製品の使用経験や、自社製品よりも検討すべき理由はありますか?