Go + SMTP + RabbitMQ = PostmanQ или как мы рассылаем ~20K писем в минуту
Сегодня речь пойдет о рассылке почты. Не секрет, что существует большое количество решений, которые позволяют рассылать почту в большинстве случаев. Но что делать, когда количество пользователей перевалило за десятки или сотни тысяч? Как быть, когда в день проходят несколько рассылок всем пользователям? И давайте не забывать об обычной почте, она тоже должна ходить без задержек. Что же делать? Взять бубен и начать танцевать? Нет! Воспользуйтесь PostmanQ!
В докладе я расскажу:
- что нас побудило написать свой MTА
- многопоточная архитектура PostmanQ, какие механизмы использовались и для чего
- производительность, какие факторы на нее влияют, и как мы искали узкие места
- инструменты для мониторинга отправки, просмотра отчетов и работы с очередями
- как мы используем PostmanQ, проблемы при отправке писем и планы на будущее