Dividindo o tráfego da web entre servidores

2

Meu site está crescendo muito para o único servidor da Web que o controla para lidar com o tráfego. Antecipando isso, o código é perfeitamente capaz de rodar em paralelo, compartilhando um banco de dados, mas eu nunca tentei realmente dividir um endereço IP entre vários servidores web. Que tipo de hardware ou software eu preciso para dividir conexões TCP de entrada entre várias caixas? Pontos de bônus se o sistema puder detectar que uma ou mais caixas ficaram offline.

    
por Brandon Yarbrough 25.09.2009 / 07:36

5 respostas

7

Você precisa de um balanceador de carga. Existem dois tipos: software e hardware.

  • hardware : você compra uma caixa que geralmente tem uma interface da web e dividirá o tráfego igualmente entre os servidores da web. Eles costumam ter muitos recursos que permitem fazer muitas coisas, como suporte a 802.1Q, SFP, balanceamento de carga global, terminação de SSL, e assim por diante. Estes são bastante caros e você pode obtê-los da Cisco, F5, Radware, Barracuda (mais barato).

  • software : Você obtém um servidor padrão e instala o software de balanceamento de carga. Isso é muito fácil de fazer com o Linux. Você pode usar HAProxy ou ldirectord ou Keepalived. Existem muito poucos para escolher. Este é um método mais barato, mas sem todas as interfaces web e recursos divertidos.

Qualquer sistema de balanceamento de carga meio decente detectará um servidor offline. Todos os acima fazem.

    
por 25.09.2009 / 08:06
3

Você pode usar o Verniz para isso, ou Libra dois bons e robustos sistemas e o verniz até armazenará seu site como um rei e acelerará as coisas.

    
por 25.09.2009 / 08:11
1

Para adicionar o que Antoine disse, eu recomendaria um balanceador de carga de hardware se o seu site estivesse realmente ficando grande. Os balanceadores de carga de software tendem a adicionar muito tráfego de sobrecarga em sua rede. Os balanceadores de carga de hardware também são geralmente projetados com o failover em mente, pois, se não, ele se torna um único ponto de falha. Como Atnoine mencionou, eles geralmente são muito caros. Se você é uma pequena loja, eu recomendo olhar para um Load Balancer por Kemp Technologies , eles são bem feitos e funcionam bem por um preço que é literalmente um décimo dos grandes garotos listados acima. No momento, estamos usando um par para o Load Balance, nosso site, portal de alunos e portal de aprendizado on-line na universidade on-line onde eu corro onde temos um pouco de tráfego todos os dias.

    
por 25.09.2009 / 15:16
0

Você também pode dividir os "serviços". Ter um servidor lidando com pedidos para o MySQL e o outro lidando com solicitações da web. Você também pode organizá-lo de modo que um esteja processando apenas imagens / páginas estáticas e o outro manipulando solicitações dinâmicas. Isso deve funcionar independentemente dos sistemas operacionais e pode fornecer alguma flexibilidade adicional, mas fortalece o acoplamento dos servidores.

    
por 25.09.2009 / 15:24
0

A maneira mais barata de fazer isso é obter outro endereço IP e adicioná-lo ao registro A do site. Os pedidos serão aleatoriamente direcionados para uma ou outra máquina. Isso não controla automaticamente o failover para você, nem garante a consistência da sessão.

    
por 25.09.2009 / 17:47

Tags