O HAProxy ainda é necessário quando o Varnish pode atuar como um balanceador de carga?

4

Eu gostaria de balancear a carga dos meus servidores de aplicativos, assim como armazenar em cache as respostas deles.

Eu li um artigo que remonta a 2012 no site do HAProxy, que deveria limpar a confusão entre o HAProxy e o Varnish:

link

Este artigo basicamente diz que o HAProxy é um balanceador de carga de proxy reverso somente (sem cache), enquanto o Varnish é um cache de proxy reverso (sem balanceamento de carga), portanto eles são complementares.

Mas hoje, vejo nos documentos do Vernish que ele também faz o balanceamento de carga:

link

Então, só posso imaginar que esse recurso foi introduzido desde 2012 e que agora compete diretamente com o HAProxy em termos de balanceamento de carga.

Agora, considerando que eu preciso de um cache de proxy reverso + balanceador de carga, é verdade que posso usar um único servidor apenas com o Varnish, que fará as duas coisas? Quaisquer limitações, talvez, em comparação com um HAProxy típico < - > Configuração de verniz?

    
por Benjamin 31.01.2016 / 00:14

3 respostas

4

O Varnish não suporta SSL

A execução de um site / serviço em SSL é uma necessidade para qualquer coisa meio séria, então esse é um motivo para usar o haproxy que fará a terminação SSL para você.

    
por 31.01.2016 / 00:24
2

Embora o HAProxy e o Varnish possam balancear a carga, apenas um deles é construído para ele.

Você poderia simplesmente usar o Apache para seus propósitos também, já que ele pode fazer proxy e armazenar em cache também, mas dificilmente é uma solução ideal.

Na minha opinião, é melhor usar cada produto para o que é melhor.

O que eu faço é instalar ambos na mesma caixa e configurar o Varnish para usar o HAProxy como seu único back-end.

O CDN é apontado para HAPROXY, que então equilibra a carga entre o Varnish e os backends, enviando para o Varnish por padrão, a menos que a solicitação venha do Varnish com base nos cabeçalhos ou IP de origem.

Dessa forma, você pode:

  • Ignorar facilmente o verniz para atualizações ou testes
  • Expanda a camada para mais caixas à medida que sua carga aumenta
  • Use cada software para seu objetivo principal
por 31.01.2016 / 16:19
1

Assim como a maioria dos softwares que implementam balanceamento de carga básico, o Varnish realmente suporta apenas algoritmos de balanceamento round-robin e aleatório .

O HAProxy, por outro lado, é criado para balanceamento de carga e, portanto, suporta :

  • round robin (com ponderação)
  • uma abordagem estática de round robin
  • menos conexões
  • primeiro servidor disponível
  • com base na fonte
  • intervalo com base no URI
  • intervalo com base em um parâmetro de URL
  • intervalo com base em um cabeçalho HTTP
  • intervalo com base em um cookie

O fato de o balanceamento de carga do Varnish ser suficiente ou não depende das suas necessidades, mas certamente não substituiu o HAProxy.

    
por 16.02.2016 / 22:41