Franchesco,
Apenas complementando a resposta do Marcos Alano, também acredito que o DNS não seja a solução ideal devido aos motivos que o próprio Marcos explicou (devido ao DNS responder a solicitação do cliente enviando o endereço IP indisponível por desconhecer o estado da conexão com o ISP).
Basicamente, o que você precisaria para fazer a redundância funcionar, de fato, seria através do uso de BGP. Com o BGP, você adquire uma faixa de endereços IP e registra um ASN no RIPE, que basicamente identifica você como parte da Internet (possibilitando que você compartilhe a mesma faixa de endereço entre múltiplos ISPs), e não apenas um usuário conectado a um ISP. [1] Com isso, você precisará possuir dois roteadores que compartilharão o mesmo endereço IP em standby/failover. Se um ISP falhar, o tráfego é direcionado ao outro automaticamente. Porém, a possibilidade de você conseguir um registro ASN é praticamente nula. [2]
Você pode usar o DynDNS.org em conjunto com scripts de monitoramento, que possui uma API HTTP que permite a você notificá-los para realizar mudanças do registro DNS quando um link torna-se indisponível [3], caso você não possua controle sobre o TTL do seu servidor DNS.
Não há muito o que fazer no seu caso além de trabalhar com tempos
menores de DNS e trabalhar com scripts de monitoramento. Pude encontrar o
stfdyn, que atua como um "DynDNS" open source, permitindo que você altere registros DNS através de requisições HTTP. Quando um link tornar-se indisponível, você pode usá-lo para atualizar o registro do seu servidor DNS.
Alguns navegadores, como o Google Chrome, são inteligentes o bastante e, quando não conseguem acessar um website, caso a consulta DNS tenha retornado mais de um endereço IP, ele tenta todos antes de exibir a mensagem de erro de conexão.
Outra alternativa seria hospedar o serviço em alguma hospedagem Web que garanta alta disponibilidade, caso o sistema possua alta criticidade e necessita estar on-line 24x7.
Referências:
- How can I use multiple ISPs to increase bandwidth and redundancy for my website?. Server Fault.
- Web server address with two ISPs. Network Engineering.
- load balancing two web servers each on two different isp's?. Server Fault.