AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 738440
Accepted
Jacob Evans
Jacob Evans
Asked: 2015-11-24 12:35:39 +0800 CST2015-11-24 12:35:39 +0800 CST 2015-11-24 12:35:39 +0800 CST

Multiple MX ou Round-Robin A Record

  • 772

Qual é melhor e por que?

Existem 2 filtros de e-mail de entrada, eles estão em um cluster com especificações de hardware iguais e podem lidar com a mesma carga. Esta é uma nova configuração e gostaria de saber qual é a melhor maneira de lidar com o balanceamento de carga de custo igual de 2 servidores, posso configurá-los para usar o mesmo nome de host (ehlo) e os mesmos certificados, eles atualmente usam um certificado que inclui todos os 3 nomes, sendo o nome comum mx.

Em qualquer um dos cenários, os servidores tentarão novamente ambos os endereços IP no caso de uma interrupção de 1 dos servidores.

Cenário 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

Cenário 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

*Assuma que todas as outras variáveis ​​são as melhores práticas (FCrDNS, SPF, ETC)

O Google parece fazer AMBOS.

;;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
domain-name-system
  • 2 2 respostas
  • 2383 Views

2 respostas

  • Voted
  1. Best Answer
    Sammitch
    2015-12-01T18:07:12+08:002015-12-01T18:07:12+08:00

    A solução mais preferível para balancear igualmente a carga é usar um balanceador de carga real . Na falta disso, você está em dívida com os caprichos de quão mal qualquer MTA implementou os RFCs.

    Em um mundo perfeito, qualquer uma dessas soluções que você mencionou estaria bem, no entanto, no mundo real, você provavelmente verá uma divisão constante de carga de 60/40, na melhor das hipóteses. Isso ocorre porque, embora os RFCs de e-mail e DNS possam ter muitos DEVEM e DEVEM de aparência assustadora em relação à randomização durante a seleção do host, o fato é que os programadores são preguiçosos e não há como o servidor rejeitar conexões devido à seleção preguiçosa do host.

    As duas situações que você verá são:

    1. Tráfego atingindo qualquer que seja o primeiro recorde.
    2. Tráfego atingindo qualquer que seja o primeiro registro após a classificação dos registros disponíveis.

    O melhor equilíbrio que consegui encontrar foi atribuir os IPs mais altos aos MXes mais baixos. No seu caso isso significaria:

    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
    

    Isso deve ajudar a equilibrar as coisas, já que o PWM [MTA mal escrito] #1 preferirá o nome de registro MX mais baixo, enquanto o PWM #2 preferirá o IP MX mais baixo.

    Mas, como eu disse, você nunca verá um verdadeiro equilíbrio.

    Origem: administrei um cluster MX de 10 nós que atende a mais de 10.000 domínios. [E aquele com o IP mais baixo ainda obteve 30% do tráfego geral e acabamos tornando-o uma máquina mais robusta :I]

    • 5
  2. User5645
    2015-11-24T12:55:07+08:002015-11-24T12:55:07+08:00

    Ambos funcionarão exatamente da mesma forma para você. Em ambos os casos, você está configurando uma configuração balanceada de carga de DNS, permitindo que você utilize ambos os servidores listados para responder a solicitações SMTP. Mesmo olhando para o número de consultas, em ambos os casos você teria duas consultas de DNS (uma para o registro MX e outra para o registro A), portanto, não deveria haver diferença de desempenho.

    Para simplificar, eu ficaria com o primeiro cenário, pois só precisaria rastrear um registro MX (menos um registro DNS ... não é grande coisa, mas pelo menos uma parte móvel a menos).

    Como o Google utiliza isso é usar a flexibilidade do balanceamento de carga do DNS junto com os recursos de fallback dos registros MX ponderados, que é a única parte da qual você não precisa aproveitar (pelo menos de acordo com seus cenários).

    Portanto, se você observar que o registro MX principal com um peso de 5 é aquele com vários registros A. Então, quando tudo está funcionando corretamente, eles estão dividindo o tráfego entre esses endereços. Mas se esses endereços não responderem, pode cair nas prioridades MX para tentar o próximo registro na linha, e assim por diante.

    A maioria das configurações pequenas (pequenas em comparação com gmail, yahoo, etc.) que vi não carregam balanceamento (pelo menos não com balanceamento de carga DNS) e, em vez disso, usam MX ponderado para cair em uma lista de manipuladores SMTP preferidos. Na verdade, tudo se resume à configuração que fornece a flexibilidade de que você precisa.

    • -1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve