MSMQまたはWCFの専門家ではなく、私はそれについて公正なビットを読み上げました。 私は何かを開発しようとしていますが、最初は堅牢で耐久性のある理論が必要です。MSMQ、WCFおよび堅牢性
MSMQ別のサーバーでホストされているようです。
2つのWCFサービスがあります。 1つは受信メッセージ用、もう1つは送信メッセージ用(メッセージを受け取り、内部処理/検証を行って発信メッセージキューに入れるか、メール/テキストメッセージなどを送信する)
正しい構成(メッセージが失われることはありません)、正確に1回送信できるので、メッセージが重複することはありません。
アプリケーション/サービスは、メッセージを処理するためにマルチスレッド化されますが、数百から数千ものメッセージが処理されます。
ただし、メッセージの処理中またはサービスの有効期間中に、サーバーがクラッシュした場合はどうなりますか?サーバーが再起動したらどうなりますか?何らかの理由でサービスが例外をスローするとどうなりますか?そのメッセージを失わないようにするにはどうすればいいですか?それをキューに戻して、それが再び処理されるのを待つ方法はありますか? また、サービス自体が再度起動するような方法で、サービスが堅牢であることを確認する方法はありますか?
ここではアドバイスと詳細をお待ちしております。取るにはかなりの量があり、WCF/MSMQは非常に多くのオプションを公開しています。
代わりにトランザクションを使用することができます。何か問題が生じた場合でも、クラッシュが発生する前にすべてのメッセージが送信されるか、送信されません。 – Milee