有两个入站邮件过滤器,它们在一个具有相同硬件规格的集群中,可以处理相同的负载。这是一种新的配置,我想知道哪种方法可以更好地处理2台服务器的等成本负载平衡,我可以将它们设置为使用相同的主机名(ehlo)和相同的证书,它们目前使用的是包含所有3个名称的证书,通用名称是mx。
在这两种情况下,都会在1台服务器中断的情况下重新尝试这两个IP地址。
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.10example.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*假设所有其他变量都是最佳实践(FCrDNS、SPF等)
;;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发布于 2015-12-01 02:07:12
平衡负载最可取的解决方案是使用实际的负载均衡器。如果不能做到这一点,您就会对任何给定的MTA实现RFCs有多糟糕的想法不以为然。
在一个完美的世界中,你提到的任何一种解决方案都会很好,但是在现实世界中,你可能会看到一个恒定的60/40的负载分裂,充其量。这是因为,尽管电子邮件和DNS RFCs在主机选择过程中可能有很多可怕的应该和必须的随机性,但事实上程序员是懒惰的,服务器没有办法因为懒惰的主机选择而拒绝连接。
您将要看到的两种情况是:
我所能达到的最佳平衡是将最高的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将更喜欢最低的MX记录名,而PWM #2将更倾向于最低的MX。
但是,就像我说的,你永远看不到真正的平衡。
资料来源:我管理了一个10节点的MX集群,服务于10,000个域.而IP最低的那个仍然占到了总流量的30%,我们最终使它成为了一台更强大的机器。:I
发布于 2015-11-23 20:55:07
两者对你来说都是一样的。在这两种情况下,您都在配置DNS负载平衡设置,允许您利用列出的两台服务器来响应SMTP请求。即使向下看查询的数量,在这两种情况下,您都会有两个DNS查询(一个用于MX记录,一个用于A记录),因此应该没有性能差异。
为了简单起见,我将坚持第一个场景,因为我只需要跟踪一个MX记录(少一个DNS记录.没什么大不了的,但至少少了一个移动部分)。
google是如何利用这一点的,既使用了DNS负载平衡的灵活性,又使用了加权MX记录的后备功能,这是您唯一不需要利用的部分(至少根据您的场景)。
所以,如果你注意到它们的主要MX记录的权重为5,那么它就是多个A记录的记录。因此,当一切正常工作时,它们就会将这些通信量分散到这些地址上。但是,如果这些地址没有响应,那么它就可以降低MX优先级,尝试下一个记录,并继续下去。
大多数小型设置(与gmail、yahoo等相比,小)我已经看到,不要负载平衡(至少不与DNS负载平衡),而是使用加权MX通过一个首选SMTP处理程序列表。实际上,这取决于为您提供所需灵活性的设置。
https://serverfault.com/questions/738440
复制相似问题