Balanceamento de carga em dois servidores

1

Eu tenho um aplicativo da web atualmente em execução em um único servidor LAMP, e estou planejando dividi-lo em dois servidores, de modo que os pedidos do cliente atinjam um dos servidores de onde ele será encaminhado para o segundo servidor, caso a carga no primeiro é alta. As solicitações chegam ao endereço IP do meu servidor atual (não ao nome do domínio) .
Como posso conseguir isso?

Espero que minha pergunta seja clara, por favor, comente caso mais detalhes sejam necessários.

Obrigado

    
por shyam 07.12.2010 / 15:58

3 respostas

1

Você pode usar haproxy . Ele pode ser usado para implementar balanceamento de carga e proxy para aplicativos baseados em TCP e HTTP. Ele possui muitos algoritmos de balanceamento de carga, como: round-robin e least-conn.

    
por 07.12.2010 / 16:06
1

O Linux Virtual Server fornece um servidor intermediário (balanceador de carga) que simplesmente encaminhará pacotes IP de entrada para outros servidores que enviam suas respostas diretamente para o cliente solicitante.

Você também pode querer considerar um proxy reverso - o Squid, o Apache, o nginx, o lighttpd podem fornecer essa funcionalidade - onde uma solicitação web completa é feita ao seu proxy reverso, e esse proxy reverso encaminha esse pedido para um dos servidores da web de backend. É uma abordagem de carga mais pesada que o LVS, mas muito mais fácil de configurar inicialmente.

    
por 07.12.2010 / 16:05
0

Esteja avisado de como é feita sua inscrição, você tem dois tipos de balanceador de carga:

Balanceador de carga: cada cliente se atém a um servidor (com uma sessão aderente), funciona com qualquer aplicativo, mas não é balanceamento de carga "real" porque o cliente fica nesse servidor e se o servidor parar de funcionar , os clientes colados neste servidor não poderão usar seu site (temporalmente)

Balanceador de carga simples: cada cliente vai aleatoriamente (ou depende de parâmetros como carga do servidor, quantidades de solicitações, etc.) em um novo servidor em cada solicitação. É o melhor, mas o seu aplicativo da web precisa ser configurado para isso, você precisa sincronizar as sessões e se possível o cache entre os diferentes servidores (com memcached por exemplo), e pode fornecer HA (com HAProxy por exemplo), detecta servidores inativos e pára de enviar o cliente para eles automaticamente.

    
por 08.12.2010 / 00:03