Чтобы освободить мой интерфейсный сервер, я хотел бы разместить все запросы, отправленные в sendgrid (аутентификацию, подтверждение, сброс пароля и транзакционную электронную почту, такую как электронная почта «нет посещения в течение длительного времени» и ежедневная электронная почта, которую мы отправляем.
Это необходимо, так как мы планируем сохранить всю память и мощность основного сервера для самого веб-приложения, и это включает в себя максимально быстрое отображение страниц. Поэтому мы хотели бы, чтобы все подпрограммы электронной почты не потребляли часть памяти/мощности нашего основного сервера веб-приложений.
Теперь все на одном сервере (на dyno на Heroku) (плюс база данных).
Поскольку мы планируем иметь много трафика на внешнем интерфейсе, я думаю, было бы целесообразно создать динамометр, зарезервированный только для процесса электронной почты (назовем его «почтовый сервер/дино».
Но он должен общаться с приложением и базой данных
например, если пользователь регистрируется, основной dyno с веб-приложением должен отправить сообщение на «сервер электронной почты»
другой пример: мне нужно будет получить доступ к той же базе данных, чтобы использовать cron, чтобы узнать, нужно ли мне отправлять электронное письмо, если пользователь подписался 8 недель назад и никогда не входил на веб-сайт.
Итак, чтобы быть кратким,
Как я могу настроить другой сервер, который будет работать только с электронной почтой
Стоит ли ставить все те же гемы и окружение
Как «сервер электронной почты» может общаться с основным веб-приложением и базой данных?
Любой совет или ресурс в Интернете, который объясняет, как это сделать?