フロントエンド サーバーを解放するために、sendgrid に送信されたすべての要求 (認証、確認、パスワードのリセット、および「長い間アクセスがありません」メールや毎日送信するメールなどのトランザクション メール) を配置したいと考えています。
メイン サーバーのすべてのメモリとパワーを Web アプリ自体のために維持する必要があり、ページをできるだけ速く表示する必要があるため、これが必要です。そのため、すべてのメール ルーチンがメインの Web アプリケーション サーバーのメモリ/電力を消費しないようにしたいと考えています。
現在、すべてが 1 つのサーバー (Heroku の dyno 上) (およびデータベース) にあります。
フロントエンドで大量のトラフィックを処理する予定であるため、メール プロセス専用の dyno を作成することは理にかなっていると思います (「メール サーバー/dyno」と呼びましょう。
ただし、アプリとデータベースと通信する必要があります
たとえば、ユーザーがサインアップした場合、Web アプリのメイン dyno は「メール サーバー」にメッセージを送信する必要があります。
別の例: ユーザーが 8 週間前にサブスクライブし、Web サイトにサインインしたことがない場合、メールを送信する必要があるかどうかを確認するために cron を使用するには、同じデータベースにアクセスする必要があります。
短くするために、
メールのみを処理する別のサーバーをセットアップするにはどうすればよいですか
私はすべて同じ宝石と環境を置くべきですか
「メール サーバー」はどのようにしてメインの Web アプリやデータベースと通信できますか?
これを行う方法を説明するウェブ上のアドバイスやリソースはありますか?