dns resolve por 2 IPs com a mesma referência

1

Temos as seguintes situações: Em um servidor, temos que configurar 2 IPs que serão referenciados para o mesmo fqdn. No aplicativo que está sendo executado no servidor, estamos configurando o FQDN. Quando houver um problema com o acesso a um IP (com base no FQDN), o servidor usará o segundo IP atribuído ao mesmo FQDN:

exemplo: /etc/hosts conterá

1.1.1.1 server1.google.com
1.1.2.1 server1.google.com

uma vez que haja um problema para acessar o 1.1.1.1, o servidor usará o server1.google.com como 1.1.2.1

Podemos usar uma coisa dessas? Existe alguma outra opção?

    
por user1977050 23.06.2014 / 09:26

2 respostas

1

/ etc / hosts não será round-robin. Apenas retorna a primeira correspondência que encontrar.

Se você quiser a resolução round-robin, precisará de um servidor DNS completo para isso.

Além disso, o DNS round-robin não é uma boa ferramenta para balanceamento de carga, que é o que você deseja. Por mais conveniente que pareça, a resolução de nomes não é a camada para fazer o que você está tentando fazer.

    
por 23.06.2014 / 15:41
1

Se você não quiser ou não puder alterar seu aplicativo, precisará colocar uma camada de balanceamento de carga em algum lugar entre o servidor que está executando o aplicativo e dois servidores aos quais deseja se conectar. Isso permitirá:

  • continue usando o mesmo nome DNS e até mesmo o mesmo endereço IP (o balanceador de carga criará um IP virtual)
  • ser direcionado para todos os servidores, por sua vez
  • evite se conectar a qualquer servidor que possa desaparecer em caso de problema
  • permite que a sessão de autenticação seja mantida com o mesmo destino, se necessário

Para soluções de balanceamento de carga, você pode dar uma olhada no projeto Linux LVS .

Você também pode alterar seu aplicativo, se isso for suportado, para fornecer o IP em qualquer sequência de conexão. O primeiro IP será usado e, se não estiver respondendo, o segundo será. Mas isso depende muito da linguagem usada para criar o aplicativo. Por exemplo. isso é possível com o conector do banco de dados Java.

    
por 23.06.2014 / 16:00

Tags