チーム リーダーから、製品の新しいバージョンのオプションとして MSMQ を調査するように依頼されました。現在のバージョンでは SQL Service Broker を使用しています。どの製品が私のニーズに適しているかを見つけるために、実験とグーグルをかなり試しましたが、プログラミングの回答については、私が知っている最高のサイトに尋ねようと思いました.
いくつかの詳細:
- クライアントは .NET 1.1 および 2.0 コードです。ここからメッセージが送信されます。
- SQL Server 2005 インスタンスのターゲット。すべてのメッセージは、最終的にデータベースの更新または挿入になります。
- トランザクションとして扱われなければならないいくつかの更新を送信します。
- メッセージを完全に復元できる必要があります。メッセージが失われることはありません。
- ターゲットの SQL サーバーがダウンしている場合でも、非同期でメッセージを受け入れることができる必要があります。
- 独自のキューイング ソリューションを開発することはできません。私たちは小さなチームです。
これまでに発見したこと:
- MSMQ と SQL Service Broker の両方がこの仕事を行うことができます。
- トランザクション メッセージの場合、Service Broker の方が高速なようです。
- Service Broker はどこかで実行されている SQL サーバーを必要としますが、MSMQ はどこかで実行されている構成済みの Windows マシンを必要とします。
- MSMQ は、クラスターでのセットアップ/実行がより優れている/高速である/簡単であるように見えます。
何か不足していますか?ここに明確な勝者はいますか?考え、経験、またはリンクは高く評価されます。ありがとうございました!
編集: 一部のクライアント コードでカスタム DB フレームワークを使用しているため、サービス ブローカーを使用することになりました (トランザクションをより適切に処理します)。そのコードはトランザクションの SQL をキャプチャしましたが、. クライアント コードもすべて .NET のバージョン 1.1 だったので、すべてのクライアント コードをアップグレードする必要がありました。ご協力いただきありがとうございます!