如果一个SMTP服务器宕机了,所有的请求都会路由到另一个,如何实现?

如果一个SMTP服务器宕机了,所有的请求都会路由到另一个,如何实现?

我有一个应用程序在多个级别使用电子邮件通知,因此如果 SMTP 服务器宕机,我就会遇到麻烦。我无法快速切换所有配置中的 SMTP 地址,或者说我甚至不想这样做。

那么,有人知道如何将所有请求从一个 smtp 重新路由到另一个 smtp 吗?这有什么大不了的吗?谢谢

答案1

是的,你可以实现它,而且设置起来确实(相对)麻烦,但如果你已经在使用 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 正在运行两个都负载均衡器,它监听 VIP 上的 25 端口,并将流量转发到两个都SMTP 服务器。
  • Keepalived 控制 VIP,并将故障转移至负载均衡器 1负载均衡器 2
  • 如果 SMTP 服务器出现故障,它将从池中删除,并且请求将转移到剩余的健康服务器。
  • 如果负载均衡器发生故障,如果发生故障的 LB 是辅助 LB,则不会有任何变化。如果发生故障的 LB 是主 LB,则 VIP 将故障转移到辅助 LB。
  • 此设置可以应对LB 和SMTP 服务器,但两个都SMTP/LB 不能失败。

相关内容