Vantagens de usar o Nginx ou o proxy HA como balanceador de carga

9

Em nosso ambiente, nós dois, Nginx e HA Proxy, em diferentes clusters. Existem vantagens em usar um sobre o outro?

Ou qual é a melhor maneira de equilibrar a carga de um cluster de servidor LAMP básico?

Jason
fonte

Respostas:

8

(Não vou entrar na "melhor maneira de carregar o equilíbrio", pois isso obviamente é específico da situação.)

O HAProxy e o nginx são excelentes opções para balanceadores de carga HTTP de código aberto no Unix. Em um nível muito alto, os prós e contras que vêm à mente são IMHO:

nginx:

  • Pode fazer o descarregamento de SSL (geralmente um problema).
  • Possui um rico conjunto de módulos de processamento de conteúdo, como reescrita de cabeçalho, compactação de conteúdo etc.
  • Às vezes, pode ser 'o único HTTPd que você precisa', simplificando a administração se você não precisar de nenhum outro HTTPd.
  • Mais extensível com plugins, FX para roteamento de tráfego.

HAProxy:

  • Pode oferecer desempenho de servidor único mais alto que o nginx (especialmente quando executado no modo TCP, 10 gbit / s foi demonstrado ).
  • IMHO mais simples de instalar e executar para configurações básicas de balanceamento de carga HTTP simples.
  • Altera um pouco menos, especialmente as ramificações estáveis ​​um pouco mais antigas geralmente ficam por um tempo sem precisar de atualizações de segurança e estabilidade.

Mas, como dito, ambos são excelentes opções. Escolha a que você se sentir mais confortável.

Jesper M
fonte
1
A compressão é uma grande vantagem para o nginx, por isso acabei optando por: haproxy + nginx para ter failover simples (haproxy) e compressão gzip (nginx).
Alexis Lê-Quôc
2

Isso realmente depende do que você quer fazer.

O Nginx pode dividir a carga entre clusters, bem como rotear domínios específicos para diferentes clusters. Nosso desempenho nginx foi satisfatório. É mais como um roteador de carga.

Para haproxy, eu sei que ele consulta o status do servidor constantemente e verifica o servidor antes de direcionar o tráfego para ele. Também possui uma interface na qual você pode visualizar estatísticas. Nginx: Acho que não faz isso em nenhum dos pontos.

Daniel Baker
fonte
1

Usamos o nginx como servidor da web e estamos muito felizes com isso. Eu nunca vou voltar para o Apache. A desvantagem é se você pretende executar o PHP; requer alguma hackery-jiggery para fazê-lo funcionar sob fastCGI.

Não se esqueça de colocar o verniz no lugar do cache! Esse passo simples resolve muitos dos problemas dos sites que estão sendo Slashdotted / Fireballed!

gWaldo
fonte
0

Não sou especialista nisso, mas, tanto quanto sei, o HAProxy tem melhor desempenho e é mais configurável na maneira como faz o balanceamento de carga.

Agora eu poderia lançar uma lista de comparações e benchmarks para você, mas ligarei os resultados do Google em https://encrypted.google.com/search?q=nginx+vs+haproxy

Não disponível
fonte