2010-12-04 22 views
0

Webアプリケーション(asp.net)がWebサーバーにあります。 Webサーバーが高負荷であるため、他のサーバー(タスクサーバー)から電子メールを非同期で送信する必要があります。私はデータベースにメールを保存する予定です。他の方法や箱から出てきたソリューションはありますか?専用サーバーから電子メールを送る最良の方法

+0

間違ったものを最適化しています。私は電子メールを送信すると、電子メールをデータベースに格納するよりもCPUがかかるとは思わない。余りにも多くのことは、余分な面倒を上回るものではありません。代わりに他のボトルネックを見つけてください。 (ただし、大量メールは別のものです) – jgauffin

+0

なぜ電子メールですか?なぜMSMQ、Jabber、RabbitMRなどのメッセージングシステムのいくつかのタイプ... – kenny

答えて

1

いくつかのアイデア...

オプション1:(?)中央メールデータベース、Webサーバー上の

Webアプリケーションのデータベースに電子メールを書き込みます。別のボックスにある「Task Server」アプリケーションは、電子メール情報などのデータベースを読み取ります。データベースは、それ自体のボックスまたはタスクサーバーにあると考えられます。

オプション2:WCFキュー

WCFは、結合ベースのキューはそのうちの一つである、別のバインディングを可能にします。これが機能するには、呼び出し元に値を返さないサービス契約を定義する必要があります(Webアプリケーションの場合)。

ここでは、WebアプリケーションがWCFを直接呼び出していると仮定しています。これは基本的にデータベースの必要性を置き換えます。

オプション3:コンフィグ

メモリから、あなただけの別の場所にあるSMTPサーバを経由してメールを送信するアプリケーションをconfigの可能性 - 私はこれは同期だろうと思いますけれども。

関連する問題