como evitar que o loadbalancer fique offline?

2

Eu planejo configurar um balanceador de carga para um projeto da Web, mas há um grande problema na minha cabeça:

um loadbalancer típico seria: (fornecido pelo nginx upstream) O servidor # 1 aceita todos os pedidos e os encaminha para o servidor # 2 - server # n, mas o que acontece quando o servidor # 1 está sob uma carga tão pesada que ele não consegue lidar com os pedidos corretamente e talvez desça ou desacelere realmente bravo?

como você pode evitar isso? Eu poderia pensar em talvez loadbalancing baseado em dns ou algo assim.

Eu não preciso de persistência de sessão ou qualquer outra coisa. isso é apenas para uma API onde cada solicitação se autentica.

você tem alguma ideia?

obrigado pelo seu feedback

    
por pila 16.12.2014 / 08:16

2 respostas

0

"o que acontece quando o servidor nº 1 está sob uma carga tão pesada que ele não consegue lidar com as solicitações corretamente"

Normalmente, os clientes recebem a mensagem de erro "tempo limite de conexão esgotado".

Não se preocupe com o balanceador de carga: com hardware moderno, eles podem lidar com milhares de solicitações, especialmente se você usar o cache para conteúdo estático.

Na maioria das vezes, os gargalos são:

  • largura de banda de rede
  • servidor # 2 - servidor # n que tipicamente precisa calcular o conteúdo dinâmico.
por 27.12.2017 / 13:10
0

how can you prevent this?

Você não pode. Você só pode planejar determinados cenários de carga suportados. Seu nginx LB pode lidar com mais tentativas de conexão do que seus servidores de API que fazem as partes pesadas. E há sempre a possibilidade de que pessoas mal-intencionadas testem você ou faça DDoS em você.

Seu servidor LB também precisa de manutenção e reinicializações para que você possa configurar algo que concorra com produtos que já resolveram o problema de segurança e escalabilidade, como o Amazon API Gateway ou Loadbalancers DigitalOceans .

    
por 27.12.2017 / 13:28