Configurar o DNS para servir páginas de vários servidores para um único domínio

1

Eu tenho um conteúdo de página da web realmente de alta disponibilidade que precisa estar online 24x7. Então, em vez de depender de um único servidor, eu queria saber se eu poderia lidar com um nome de domínio com vários servidores?

Posso simplesmente definir diferentes servidores de nomes para esse domínio? Os pedidos seriam distribuídos automaticamente entre esses servidores? É assim tão simples?

    
por Robinicks 17.12.2009 / 05:34

4 respostas

4

Você absolutamente não quer usar o Round Robin DNS. A questão principal é que não é possível equilibrar a carga com qualquer tipo de inteligência e não leva em conta o cache de DNS no lado do cliente. O DNS simplesmente não serve para fazer o balanceamento de carga. Essa tecnologia está obsoleta e o que você realmente quer usar é um Balanceador de Carga de Servidor (Dispositivo ou Software, mas eu realmente recomendo um Dispositivo se você se preocupa com o desempenho).

O que acontece é isto:

  • Você configura um nome de domínio e vincula seu endereço IP ao seu endereço IP público do Load Balancer (SLB) do servidor, chamado VIP (Virtual IP Address).
  • Quando o SLB recebe uma solicitação de conexão, ele estabelece a conexão entre o cliente e ele mesmo. Seus clientes enviarão dados dentro dessa conexão (uma solicitação HTTP no seu caso). Alguns SLB podem redirecionar o fluxo de dados para um servidor específico com base no tipo de solicitação, mas isso é um pouco avançado por enquanto.
  • O SLB estabelecerá outra conexão entre ele e outro servidor. Ele irá escolher o servidor de um pool que você especificou. É aqui que você especifica os endereços IP de todos os seus servidores. Com base nas regras de balanceamento de carga definidas, ele escolherá um servidor ou outro. Algumas regras possíveis são Round Robin (ele enviará o primeiro usuário para o primeiro servidor, o segundo usuário para o segundo servidor e assim por diante), Weight (se o servidor 1 for duas vezes mais poderoso que o servidor 2, enviará mais duas vezes usuários para o primeiro servidor), Load (se o servidor 2 estiver mais carregado que o servidor 3, o SLB enviará para o servidor 3 em prioridade), e alguns outros.
  • Uma maneira popular de melhorar o desempenho é usar os SLBs para fazer a terminação SSL entre ele e o cliente e, em seguida, usar texto não criptografado entre ele e o servidor. Dessa forma, você não precisa de SSL em seu servidor (economizando toneladas de desempenho), o que na maioria das vezes é bom porque você está em uma rede privada e confiável; mantendo o nível de segurança necessário na rede pública (Internet).

Alguns fornecedores populares do SLB são o F5 (meu favorito pessoal, mas isso é só eu, e eles tendem a ser mais caros - por boas razões, mas essa também é minha opinião), RadWare, Cisco e Juniper.

    
por 17.12.2009 / 12:17
3

Você realmente tem quatro opções:

  1. Configure um cluster e aponte o domínio para o IP virutal do cluster
  2. Compre um appliance de balanceamento de carga
  3. Coloque um cluster atrás do dispositivo de balanceamento de carga
  4. Configurar vários registros com todos os IPs diferentes do servidor (DNS Round Robbin)

O problema com o round robbin do DNS é que, se um dos seus servidores ficar inoperante, todas as solicitações N falharão quando tentar usar esse IP.

Usar somente clustering e / ou um balanceador de carga fornecerá a você uma verdadeira tolerância a falhas de hardware, pois eles deixarão de enviar solicitações para o servidor inativo.

    
por 17.12.2009 / 05:48
2

Algo a ter cuidado ao escolher uma solução de balanceamento de carga é se o seu site precisa lidar com as sessões. Se for o caso, certifique-se de usar uma técnica de balanceamento de carga que não escolha servidores aleatoriamente para um determinado cliente, caso contrário, eles podem perder a sessão em seu site sempre que forem redirecionados para um servidor diferente.

    
por 17.12.2009 / 12:25