SMTP智能主机循环平衡

我们的SMTP提供商要求在四台不同的主机之间均匀分配电子邮件。 据我所知,分发这种负载的标准方法是利用DNS轮询function,但问题是提供商的邮件服务器应该使用不是IP的符号名来处理。 处理这个问题的最好方法是什么? 将设置多个CNAMElogging工作,还是应该使用任何内部的Sendmail / Postfix / Exim /等平衡function(我目前不知道)?

你的提供者是一个白痴。 他们应该给你一个服务器名称插入你的MTA,并做自己的负载平衡。 我只是倾向于把一个名字放到我的relayhost指令中,并且完成它。 你可以用所有提供者的机器的Alogging来定义一个本地名字(从parsing他们提供给你的名字中获得),但是这样做是没有意义的,因为每当你的提供者决定增加更多的服务器给他们的集群你必须做一个configuration更改。

+1“你的提供者是一个白痴”。

不过,您可以通过在本地设置一些负载平衡器(例如HAProxy)来解决它的需求,这会将您的提供商的智能主机用作后端。 您的服务器会将邮件指向此负载均衡器。 它不会严格基于电子邮件进行平衡,而是基于TCP连接。 但我想这应该是足够好的,因为很难确定在那个时候会生成多less个邮件(因为有多个收件人,邮件列表,别名等等)

另外,当你的提供者的服务器发生变化时,你只需要调整loadbalancer的configuration,而不需要去接触任何其他的服务器。

您可能需要考虑负载均衡器的高可用性,因为这将是一个单点故障。

那么,BIND 9.x不支持多个CNAME条目,因为这打破了RFC,真是一个惊喜! 但是我在这里find了一个可能的解决scheme: http : //marc.info/? l= postfix-users&m=118849453519781&w=2我要实现这个,将在这里提供一个报告,只是为了logging。