我们正在使用 IIS SMTP 为 Web 应用程序发送电子邮件。如果我建立另一台服务器,那么在内部对这些服务器进行负载平衡的最佳方法是什么,以便它们都可以使用,如果一个服务器出现故障,另一个服务器会继续运行?据我了解,由于缓存,简单地创建另一个 Windows DNS 记录并不能解决问题。我们正在使用可以进行外部负载平衡的 SonicWall 防火墙,我不确定它们是否可以用来在内部做同样的事情,或者是否可以做其他事情,也许是 NLB?
我们正在使用 IIS SMTP 为 Web 应用程序发送电子邮件。如果我建立另一台服务器,那么在内部对这些服务器进行负载平衡的最佳方法是什么,以便它们都可以使用,如果一个服务器出现故障,另一个服务器会继续运行?据我了解,由于缓存,简单地创建另一个 Windows DNS 记录并不能解决问题。我们正在使用可以进行外部负载平衡的 SonicWall 防火墙,我不确定它们是否可以用来在内部做同样的事情,或者是否可以做其他事情,也许是 NLB?
我们只在这里说外发邮件吗?(收到的邮件需要解决一系列更复杂的问题。)
TCP(“第 4 层”)负载均衡器可以很好地解决您的问题。也许,正如@HBruijn 所提到的,这可能使用您现有的 SonicWalls 是可能的。否则,我个人首选的工具是HAProxy(它同时执行第 7 层和第 4 层 LB)。
Windows 自己的 NLB 功能实际上也是第 4 层 LB,因此如果您想用已有的东西解决问题,这是可能的。
(但请注意,如果您根据发件人的 IP 地址而不是使用身份验证将发件人列入白名单,那么如果您使用单独的白名单,则该白名单必须存在并在 LB 上进行管理,除非 SMTP 服务器遵守代理协议。否则,SMTP 服务器只会将当前活动的 LB 节点视为发起者,这违背了白名单的目的。)