Explicação do balanceador de carga

6

Estou tentando descobrir exatamente como funciona o balanceamento de carga de sites como o facebook / youtube, mas tenho poucas dúvidas. Então, depois de ler muito, descobri que o loadbalancing é assim: Quando o loadbalancer deve ser um servidor, que divide o tráfego entre os servidores.

Minha pergunta é: se o balanceador de carga é um único servidor que divide o tráfego entre os outros servidores, como sites como o facebook / youtube podem lidar com mais de 50.000 solicitações por segundo? Se o balanceador de carga for um único servidor, ele não morrerá, como ele é capaz de rotear tráfego de 10 Gbps ou mais? Além disso, como esses balanceadores de carga sabem em qual servidor o vídeo XXXX (por exemplo) está localizado?

    
por Viktor Kirilov 09.02.2013 / 12:18

2 respostas

3

Essa imagem é uma boa primeira aproximação do balanceamento de carga e, para a maioria dos sites, será mais do que suficiente. Sites como google, youtube e facebook podem e usam mais alguns truques, aqui estão alguns que usei até agora ou pretendo fazer para outro grande site de comércio eletrônico:

  • Use o DNS para distribuir solicitações para vários balanceadores de carga, até vários datacenters
  • Use uma combinação de DNS / intervalos de IP de anycast / CDns para atrair o tráfego local geograficamente
  • Faça o balanceador de carga mais externo fazer apenas o balanceamento da camada 4 para mais balanceadores de carga, e faça com que eles façam todo o processamento necessário da camada sete

Esses truques da camada 7 podem incluir:

  • Vinculando um usuário a um servidor por meio de um cookie ou url
  • Localização de conteúdo e redirecionamento adequado
  • Analytics para melhorar ainda mais o desempenho
  • Detecção de abuso & prevenção na camada 7
por 09.02.2013 / 12:26
0

Para a segunda parte da questão - um balanceador de carga tem um banco de dados atualizado que contém informações sobre qual servidor pode processar qual solicitação ou pode usar algumas mensagens de redirecionamento interno dos servidores de back-end.

    
por 10.02.2013 / 12:01