Назад | Перейти на главную страницу

Если один SMTP-сервер не работает, все запросы перенаправляются на другой, как этого добиться?

У меня есть приложение, которое использует уведомления по электронной почте на многих уровнях, поэтому, если SMTP-сервер не работает, у меня возникают проблемы. Я не могу быстро переключить SMTP-адрес во всех моих конфигурациях или, скажем так, даже не хочу этого.

Так кто-нибудь знает, как «перенаправить» все запросы с одного smtp на другой? это большое дело? Спасибо

Да, вы можете добиться этого, и да, это (относительно) сложная задача для настройки, хотя и не такая уж большая проблема, если вы уже используете инструменты автоматизации, такие как Puppet или Chef.

В идеале для истинно высокой доступности ваша установка должна быть следующей:

SMTP 1 (192.168.1.21) <-----> Load Balancer 1 (192.168.1.10)
                       \   /           |
                         +             |-------------- VIP (192.168.1.100)
                        / \            |
SMTP 2 (192.168.1.22) <-----> Load Balancer 2 (192.168.1.11)
  • У вас работает HAproxy обе балансировщики нагрузки, которые прослушивают порт 25 на VIP и перенаправляют трафик на порт 25 на обе SMTP-серверы.
  • Keepalived контролирует VIP и переключается на Балансировщик нагрузки 1 к Балансировщик нагрузки 2.
  • В случае выхода из строя SMTP-сервера он будет удален из пула, а запросы будут перенаправлены на оставшийся работоспособный сервер.
  • В случае отказа балансировщика нагрузки, если отказавший LB является вторичным, никаких изменений не произойдет. Если отказавший LB является первичным, VIP переключится на вторичный.
  • Эта установка может справиться с отказом один LB и один SMTP сервер сразу, но обе SMTP / LB не могут выйти из строя.