Existem várias abordagens para implementar o failover entre sub-redes; mas há muitas variantes dependendo dos requisitos exatos. Independentemente dos detalhes, o que você parece estar tentando alcançar é injeção de saúde de rota ; isto é, anunciar uma rota para um serviço específico (geralmente por meio de um VIP ) com base na saúde / disponibilidade desse serviço.
Algumas formas de implementar isso incluem:
aparelhos de terceiros
por exemplo. Citrix Netscaler ou F5 BIGIP . Esses dispositivos geralmente oferecem conjuntos de recursos muito ricos. Além do requisito de alta disponibilidade, eles também fornecem balanceamento de carga entre vários servidores, bem como alguns recursos avançados de verificação de integridade para protocolos de aplicativos conhecidos (por exemplo, HTTP, HTTPS, DNS, etc.). Eles são, no entanto, muito caros.
Daemons de roteamento baseados em host
por exemplo. Quagga ou XORP . Com um pouco de script, esses daemons podem fornecer um subconjunto da funcionalidade dos appliances acima, sem os custos associados. Se você configurar sua rede para aceitar roteamento de atualizações de roteamento dinâmico de seus hosts e inserir alguns scripts que verificam periodicamente a integridade de seus serviços, isso permitirá que você anuncie condicionalmente uma rota para um VIP em cada um dos seus servidores reais. Algumas considerações aqui:
- você precisará ter direitos administrativos em seu hardware de rede;
- você precisará de controles para garantir que o processo de roteamento baseado em host não cause impacto na infraestrutura da sua rede, por exemplo, através da configuração incorreta.
Algum esclarecimento dos requisitos / restrições em sua situação pode ser útil. Algumas perguntas:
- Você precisa de failover ativo / ativo ou ativo / em espera?
- Esses aplicativos estão voltados para a Internet ou apenas para uso interno?
- Você precisa de um failover automático?
- O balanceamento de carga é um requisito?
- Você preferiria uma solução anycast , em que os usuários se conectassem à instância 'mais próxima' de um serviço?
- Seus servidores back-end precisam ver conexões de clientes originadas de seu endereço IP de origem real ou um proxied solução seja aceitável?