Como posso equilibrar a carga de um balanceador de carga?

11

Estou prestes a converter um aplicativo Web de banco de dados único servidor único em uma configuração de alta disponibilidade fisicamente distribuída com servidores em dois locais físicos (por enquanto). Agora, obviamente, preciso de um balanceador de carga (neste caso, mais como um proxy reverso, mas vou chamá-lo de "balanceador de carga" por simplicidade), que encaminharia solicitações para mywebsiteum node1.mywebsiteou outro node2.mywebsite. No entanto, suponho que servidores com alta disponibilidade não sejam úteis se meu balanceador de carga cair. Portanto, para minha linha de pensamento, eu precisaria de dois balanceadores de carga, um em cada local. No entanto, eu ainda gostaria de um único ponto de acesso externo, portanto, precisaria de um balanceador de carga para os balanceadores de carga, que, por sua vez, precisariam ser equilibrados entre os locais ... isso continua e continua.

Então, o que há de errado com o meu raciocínio? Como garantiria a alta disponibilidade de meus balanceadores de carga na prática, assumindo que cada um dos locais físicos pudesse ser desconectado da energia por um longo período de tempo?

PS : Estou ciente do fato de que meu entendimento da distinção entre HA e balanceamento de carga é medíocre na melhor das hipóteses. O que eu quero é um servidor disponível, mesmo quando a energia de um local fica inativa. Obrigado pela sua compreensão.

Nikolai Prokoschenko
fonte
1
Você investigou o failover de IP? Se os dois datacenters forem o mesmo provedor, isso deve ser razoavelmente direto
Smudge
Você deve ter seus nós em redes separadas? - Quando está na mesma LAN, o HA é mais fácil de configurar.
Sandman4
Qual é o seu principal objetivo - você deseja balanceamento de carga, ou seja, deseja manipular cargas mais altas do que aquelas que são aceitáveis ​​para um único servidor ou HA significa que deseja que seu site funcione mesmo que um nó falhe?
Sandman4

Respostas:

4

Você não pode, e é por isso que o balanceamento de carga não tem nada a ver com a disponibilidade .

adaptr
fonte
2

Dois balanceadores de carga devem ser suficientes. Você estará usando apenas um balanceador de carga por vez. O nome mywebsite deve ser resolvido para o VIP atribuído a um dos balanceadores de carga.

Khaled
fonte
VIP = IP virtual? Qual parte da infraestrutura hospedaria o roteamento VIP, ou seja, detectar que um LB está inoperante e encaminhar para o outro? Se é em um dos locais, poderia ser para baixo também ...
Nikolai Prokoschenko
Com um VIP, as solicitações são enviadas aos dois LBs e um deles decide responder com base no fato de que o outro está ativo. Isso sugere que eles não são separados geograficamente, o que é um outro nível de disponibilidade.
JamesRyan
2

Você pode fazer HA grosseiro e equilibrar com round robin dns colocando-o na frente de seus balanceadores de carga.

JamesRyan
fonte
O round robin fará o balanceamento de carga, mas quanto ao HA - NO. Basicamente, o navegador escolherá um dos nós e cumprirá-o. Tem 50% de chances de atingir uma boa ou uma ruim.
Sandman4
Não, não é isso que acontece. Os navegadores mais modernos pegam todos os IPs, incluindo o ruim, e tentam transparentemente os bons. Não é infalível, mas funcionará para a grande maioria dos usuários.
precisa saber é o seguinte
O que te faz pensar isso ? Eu também esperava isso até que eu realmente o testei. O Firefox e o Chrome tentam o 1º IP por 180 segundos e depois passam para o próximo IP. Quando você for para a próxima página, eles começarão com o 1º IP (não responsivo) novamente e aguardarão mais 180 segundos e assim por diante. ( serverfault.com/questions/327708/… )
Sandman4
Sim, você tem 50% de chance de que o primeiro pedido seja atingido pelo tempo limite, mas assim que o fizer, ou você atualizar, ele irá para o bom ip e buscará ok. A partir da 2ª solicitação, ele não volta ao IP ruim novamente, mantém-se no bom.
precisa saber é o seguinte
Que nojo. Podemos continuar dizendo "faz" ou "não faz". Apenas tente e veja. E clicar em Atualizar não altera nada (pelo menos no Chrome) - você espera 180 segundos, mesmo se clicar em Parar e abrir a página novamente.
Sandman4