0

アプリケーションを2つの異なるサーバー(Weblogic)にデプロイしています。スケジュール通りにメールを送信する機能があります。私たちのアプリケーションは2つの異なるサーバーで実行されているため、ユーザーは2つの電子メールを受信して​​います(それぞれ1つのサーバーから)。1つに制限する必要があります。アイデアは大歓迎です。

4

2 に答える 2

1

システムについて十分に説明していませんが、一般的に検討しているため、この問題には多くの解決策があります。

  • 中央の位置に送信メールをマークすることは、データストアまたはメモリキャッシュである可能性があります

    スケジュールされたすべての電子メールをキャッシュまたはデータストアの中央リポジトリに配置し、各電子メール送信者アプリケーションは、電子メールを送信するときに送信済みの電子メールにマークを付けます。これにより、他のアプリケーションは、他の電子メール送信者コンポーネントによってまだ送信されていない場合、電子メールをチェックします。

  • 両方からデータを取得してスケジュールされた電子メールを送信する電子メール用の個別のコンポーネントを作成する:1つの可能な解決策は、電子メール送信コンポーネントをメインアプリケーションから分離して単一の場所に配置し、電子メールデータストアまたはリポジトリと対話してスケジュールされた電子メールを送信することです。

お役に立てれば

于 2013-03-26T09:03:59.847 に答える
0

別の可能な解決策は、キューを作成し、UDQとMDBがメッセージを消費して電子メールを送信することです。このソリューションは、2つの管理対象サーバーのいずれかがダウンした場合に機能し、多くのメッセージを処理しているときに適切に拡張できます。

負荷が高い場合、DBを使用するとボトルネックが増える可能性があります。

メールコンポーネントを1つのサーバーにのみ配置すると、高可用性が損なわれる可能性があります。

于 2013-03-26T17:11:47.040 に答える