Balanceamento de carga no nível de DNS

2

É possível neste mundo alcançar o balanceamento de carga no nível de DNS? Por exemplo, eu tenho um Servidor A (111.222.333.444) e Servidor B (555.666.777.888), e há alguma hospedagem DNS de terceiros (como CloudFlare) que poderia decidir se o Servidor A está inativo (ou não respondendo) e então desviar todos tráfego para o Servidor B. Isso não é um verdadeiro balanceamento de carga, e sim um desvio de tráfego, não sei. Mas é possível?

Eu sei que a propagação do DNS leva tempo, mas serviços como o CloudFlare mal levam alguns minutos para desviar para outro servidor.

Alguma ideia? Obrigado.

    
por aceph ali 18.02.2013 / 12:30

1 resposta

6

O DNS pode muito bem ser usado para balanceamento de carga , mas só é capaz de fazer coisas como round robin simples.

Se você quiser implementar algo como uma solução alta disponibilidade no DNS, terá que desabilitar os IPs indisponíveis, para os quais você precisaria definir o TTL com um valor mínimo, que não é uma boa ideia.

Em geral, é uma idéia muito melhor usar soluções como Heartbeat .

Com o Heartbeat, o cenário seria parecido com o seguinte:

Você tem o Servidor A e o Servidor B. O Heartbeat está verificando continuamente se o Servidor A e B estiverem OK. Se o Heartbeat detectar que o Servidor A está com um problema, ele simplesmente atribuirá o IP do Servidor A ao Servidor B. Assim, o Servidor B estará atendendo as solicitações para ambos os IPs.

Dessa forma, para o usuário, há apenas uma interrupção mínima de serviço de um segundo ou dois que a pulsação leva para reatribuir os IPs e propagar o ARP atualizado. Isso é muito mais rápido do que você poderia propagar uma mudança de DNS.

    
por 18.02.2013 / 12:37