2

フロントエンド サーバーを解放するために、sendgrid に送信されたすべての要求 (認証、確認、パスワードのリセット、および「長い間アクセスがありません」メールや毎日送信するメールなどのトランザクション メール) を配置したいと考えています。

メイン サーバーのすべてのメモリとパワーを Web アプリ自体のために維持する必要があり、ページをできるだけ速く表示する必要があるため、これが必要です。そのため、すべてのメール ルーチンがメインの Web アプリケーション サーバーのメモリ/電力を消費しないようにしたいと考えています。

現在、すべてが 1 つのサーバー (Heroku の dyno 上) (およびデータベース) にあります。

フロントエンドで大量のトラフィックを処理する予定であるため、メール プロセス専用の dyno を作成することは理にかなっていると思います (「メール サーバー/dyno」と呼びましょう。

ただし、アプリとデータベースと通信する必要があります

  • たとえば、ユーザーがサインアップした場合、Web アプリのメイン dyno は「メール サーバー」にメッセージを送信する必要があります。

  • 別の例: ユーザーが 8 週間前にサブスクライブし、Web サイトにサインインしたことがない場合、メールを送信する必要があるかどうかを確認するために cron を使用するには、同じデータベースにアクセスする必要があります。

短くするために、

メールのみを処理する別のサーバーをセットアップするにはどうすればよいですか

私はすべて同じ宝石と環境を置くべきですか

「メール サーバー」はどのようにしてメインの Web アプリやデータベースと通信できますか?

これを行う方法を説明するウェブ上のアドバイスやリソースはありますか?

4

1 に答える 1