Compreendendo os aspectos negativos do balanceamento de carga de rede com dois computadores em comparação com o balanceamento de carga de três vias tradicional

3

Temos um site no IIS criado no ASP.NET com DNN. Atualmente, tentamos configurar o balanceamento de carga de rede para dois servidores. O provedor de hospedagem de serviço nos disse que isso seria suficiente, mas parece que nós atingimos uma parede de tijolos:

  • balanceamento de carga de rede apenas encaminha solicitações do seu ip público, ele não verifica a disponibilidade dos servidores
  • se um servidor ficar inativo, 50% dos pedidos verão um "servidor não disponível" até que removamos manualmente o servidor da configuração de balanceamento de carga
  • Eu não vejo uma maneira de configurar isso com dois servidores sem esse problema

Com o balanceamento de carga de três vias, também conhecido como web farm, um único sistema verifica quais servidores estão disponíveis. Se um servidor cair, ele encaminhará a solicitação para o outro servidor.

O acima é uma suposição correta da limitação do balanceamento de carga da rede, levando ao web farm clássico como única solução, ou existe algo que o provedor de hospedagem pode configurar para evitar esse comportamento e nos manter apenas dois sistemas?

    
por Abel 16.06.2011 / 15:16

2 respostas

4

Você de fato atingiu uma das limitações clássicas do NLB. Um cluster do Windows NLB só é capaz de verificar se o próprio nó está disponível e não pode verificar se o aplicativo real ainda está ativo e em execução. Em última análise, o que você precisa é de algum tipo de exame de integridade do aplicativo que pode ser feito com um balanceador de carga físico ou talvez um balanceador de carga de software, como o Microsoft Application Request Routing (ARR) .

Outra alternativa que é relativamente nova é um balanceador de carga baseado em nuvem, como a oferta da Rackspace . Isso oferece a você o benefício de ter muitos dos recursos de um balanceador de carga físico sem o custo de implementar hardware físico.

Espero que ajude.

Editar: Existe uma maneira de o NLB executar verificações de integridade, no entanto, ele ainda requer o que equivale a um terceiro servidor. O System Center Operations Manager possui um pacote de gerenciamento que pode monitorar aplicativos. Detalhes sobre isso podem ser encontrados aqui . Se você estiver indo para o problema de adicionar algo como isso, você também pode olhar para os benefícios de um balanceador de carga real que pode executar as verificações de integridade necessárias.

    
por 16.06.2011 / 15:33
1

Se você tiver um terceiro sistema (ou dois), ele poderá distribuir a carga com base na utilização dos hosts de backend, ele poderá verificar a disponibilidade em uma alavanca superior (aplicativo) e não apenas na rede. Também é mais fácil, já que cada sistema tem apenas uma função, o balanceador de carga somente carrega os balanços e não precisa ter mais nada, portanto menos coisas podem dar errado.

    
por 16.06.2011 / 15:25