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.