私は MSMQ の初心者です。
これが私のシナリオです。 請求書が Billing Software によって生成されたら、すべての顧客に保証付きのメールを (迅速に) 送信する必要があります。
1.インターネットがダウンしている場合は、しばらくしてから送信を再試行できるようにする必要があります
。
2.電子メール送信の順序
3.優先的に電子メールを処理/送信する機能。
Service Broker(MSSB)の知識があります。
ありがとう
質問のポイント 1 に対処するために、課金ソフトウェアのインスタンスが複数ある場合は、電子メールの送信を担当する単一の「中央」サービスを作成できます (そのサービス ServerX をホストするマシンを呼び出すことができます)。このシナリオで対処する必要がある主な問題は、ServerX が (電子メールを送信する) SMTP サーバーに常にアクセスできるようにすることです。したがって、理想的には、ServerX は非常に信頼性が高く安定したインターネット接続を備えている必要があります。または、SMTP サーバーが独自のネットワーク上にある場合、ServerX は LAN 上の SMTP サーバーに妨げられずにアクセスできる必要があります。顧客に送信する請求書を作成するソフトウェアが別の場所 (ServerX から離れた場所) にある場合は、MSMQ を使用して、請求ソフトウェアのインスタンスによって送信された電子メール リクエストが実際に送信されていることを確認できます。 ServerX に配信されます。基本的に、課金ソフトウェアは、SMTP サーバーではなく、ServerX 上の MSMQ サービスを直接呼び出します。ここで MSMQ は、受信したメッセージを SMTP サーバーに渡すメディエーターとして機能します。念頭に置いているアーキテクチャが上で述べたものである場合、これは実行可能で簡単に実装できるサービスです。代わりに、課金ソフトウェアのすべてのインスタンスで SMTP サーバーを呼び出すようにすることもできますが、この方法では、障害を減らすどころか、障害が発生する可能性が高くなり、複数の障害点が発生する可能性があります。念頭に置いているアーキテクチャが上で述べたものである場合、これは実行可能で簡単に実装できるサービスです。代わりに、課金ソフトウェアのすべてのインスタンスで SMTP サーバーを呼び出すようにすることもできますが、この方法では、障害を減らすどころか、障害が発生する可能性が高くなり、複数の障害点が発生する可能性があります。念頭に置いているアーキテクチャが上で述べたものである場合、これは実行可能で簡単に実装できるサービスです。代わりに、課金ソフトウェアのすべてのインスタンスで SMTP サーバーを呼び出すようにすることもできますが、この方法では、障害を減らすどころか、障害が発生する可能性が高くなり、複数の障害点が発生する可能性があります。
課金ソフトウェアのインスタンスで ServerX を呼び出すと、言及した残りのポイント (2 & 3) は単純な手続きになり、ServerX 上のサービスの単純なビジネス ロジックを通じて簡単に対処できます。
要約すると、次のようにします。
とはいえ、これは MSMQ をシーンに適合させるための単なるレシピにすぎません。あなたが探しているものにとってそれが最適かどうかはわかりませんが、これは MSMQ をあなたのシーンに統合できる 1 つの方法です。企業。