アプリケーションを2つの異なるサーバー(Weblogic)にデプロイしています。スケジュール通りにメールを送信する機能があります。私たちのアプリケーションは2つの異なるサーバーで実行されているため、ユーザーは2つの電子メールを受信しています(それぞれ1つのサーバーから)。1つに制限する必要があります。アイデアは大歓迎です。
質問する
72 次
2 に答える
1
システムについて十分に説明していませんが、一般的に検討しているため、この問題には多くの解決策があります。
中央の位置に送信メールをマークすることは、データストアまたはメモリキャッシュである可能性があります。
スケジュールされたすべての電子メールをキャッシュまたはデータストアの中央リポジトリに配置し、各電子メール送信者アプリケーションは、電子メールを送信するときに送信済みの電子メールにマークを付けます。これにより、他のアプリケーションは、他の電子メール送信者コンポーネントによってまだ送信されていない場合、電子メールをチェックします。
- 両方からデータを取得してスケジュールされた電子メールを送信する電子メール用の個別のコンポーネントを作成する:1つの可能な解決策は、電子メール送信コンポーネントをメインアプリケーションから分離して単一の場所に配置し、電子メールデータストアまたはリポジトリと対話してスケジュールされた電子メールを送信することです。
お役に立てれば
于 2013-03-26T09:03:59.847 に答える
0
別の可能な解決策は、キューを作成し、UDQとMDBがメッセージを消費して電子メールを送信することです。このソリューションは、2つの管理対象サーバーのいずれかがダウンした場合に機能し、多くのメッセージを処理しているときに適切に拡張できます。
負荷が高い場合、DBを使用するとボトルネックが増える可能性があります。
メールコンポーネントを1つのサーバーにのみ配置すると、高可用性が損なわれる可能性があります。
于 2013-03-26T17:11:47.040 に答える