哪个更好?为什么?
有两个入站邮件filter,它们在一个具有相同硬件规格的集群中,并且可以处理相同的负载。 这是一个新的configuration,我想知道哪个是更好的方式来处理2个服务器的等成本负载平衡,我可以设置他们都使用相同的主机名(ehlo)和相同的证书,他们目前使用的证书,包括所有3个名字,通用名是mx。
在任何一种情况下,服务器中断时,服务器都会重试这两个IP地址。
情况1
example.com. IN MX 10 mx.example.com. mx.example.com. IN A 10.0.0.10 mx.example.com. IN A 172.31.0.10
情景2
example.com. IN MX 10 mx1.example.com. example.com. IN MX 10 mx2.example.com. mx1.example.com. IN A 10.0.0.10 mx2.example.com. IN A 172.31.0.10
*假设所有其他variables是最佳实践(FCrDNS,SPF,ETC)
谷歌似乎做两个。
;;Answer gmail.com. 300 IN TXT "v=spf1 redirect=_spf.google.com" gmail.com. 86400 IN SOA ns1.google.com. dns-admin.google.com. (2015031901 21600 3600 1209600 300) gmail.com. 345600 IN NS ns1.google.com. gmail.com. 345600 IN NS ns2.google.com. gmail.com. 345600 IN NS ns3.google.com. gmail.com. 345600 IN NS ns4.google.com. gmail.com. 3600 IN MX 10 alt1.gmail-smtp-in.l.google.com. gmail.com. 3600 IN MX 20 alt2.gmail-smtp-in.l.google.com. gmail.com. 3600 IN MX 30 alt3.gmail-smtp-in.l.google.com. gmail.com. 3600 IN MX 40 alt4.gmail-smtp-in.l.google.com. gmail.com. 3600 IN MX 5 gmail-smtp-in.l.google.com. gmail.com. 300 IN AAAA 2607:f8b0:4006:80c:0:0:0:1015 gmail.com. 300 IN A 173.194.123.85 gmail.com. 300 IN A 173.194.123.86 gmail-smtp-in.l.google.com. 300 IN AAAA 2607:f8b0:400c:c00:0:0:0:1a gmail-smtp-in.l.google.com. 300 IN A 74.125.134.26 gmail-smtp-in.l.google.com. 300 IN A 74.125.134.27
平衡负载的最佳解决scheme是使用实际的负载平衡器 。 如果你没有注意到任何MTA实施RFC的情况,
在一个完美的世界里,你提到的那些解决scheme中的任何一个都可以,但是在现实世界中,你可能会看到恒定的60/40的负载分配。 这是因为即使电子邮件和DNS RFC在主机select期间可能有很多关于随机化的令人恐怖的SHOULD和MUST,实际上仍然是程序员懒惰,并且由于懒惰的主机select,服务器没有办法拒绝连接。
你将要看到的两种情况是:
我能够取得的最好的平衡点是将最高的IP分配给最低的MXes。 在你的情况下,这将意味着:
example.com. IN MX 10 mx1.example.com. example.com. IN MX 10 mx2.example.com. mx1.example.com. IN A 172.31.0.10 mx2.example.com. IN A 10.0.0.10
这应该有助于平衡事情,因为PWM [写得不好的MTA]#1会select最低的MXlogging名称,而PWM#2会select最低的MX IP。
但是,正如我所说,你永远不会看到真正的平衡。
来源:我已经pipe理了一个10个节点的MX群集,服务于10,000个域。 [知识产权最低的那个仍然占到整体stream量的30%,我们刚刚结束了一个更强大的机器:I
两者对你来说都是一样的。 在这两种情况下,您都要configuration一个DNS负载平衡设置,允许您使用列出的两台服务器来回答SMTP请求。 即使查看查询次数,在这两种情况下,您都会有两个DNS查询(一个用于MXlogging,一个用于Alogging),所以应该没有性能差异。
为了简单起见,我会坚持第一种情况,因为我只需要跟踪一个MXlogging(less一个DNSlogging…不是什么大问题,但至less有一个移动部分)。
谷歌如何利用这个function,既利用了DNS负载平衡的灵活性,又利用了加权MXlogging的后备function,这是唯一不需要利用的function(至less根据你的情况)。
所以如果你注意到他们的主要MXlogging的权重为5是多个Alogging的logging。 所以当一切工作正常的时候,他们正在将这些stream量分成这些地址。 但是如果这些地址没有响应,那么就可以降低MX的优先级来尝试下一行的logging,然后继续。
大多数小的设置(与Gmail,雅虎等比较小)我已经看到没有负载平衡(至less不与DNS负载平衡),而是使用加权MX通过首选SMTP处理程序的列表。 真正归结到提供您需要的灵活性的设置。