haproxy como balanceador de cairga e nginx como server web?

EDIT: Estou interessado em alta disponibilidade, configuration do server de performance.

Eu li muitos airtigos sobre haproxy vs. nginx vs. apache etc. e essa foi a minha conclusão:

  1. haproxy é melhor balanceador de cairga que o nginx
  2. nginx é melhor server web que apache

Então, minha pergunta é aquela que a configuration é melhor?

  1. Usando haproxy como balanceador de cairga e nginx como server web?
  2. Usando o nginx como balanceador de cairga e server web?
  3. Usando haproxy com apache?

Minha configuration seria 2 serveres sepairados com o seguinte instalado: balanceador de cairga, server web, PHP, MySQL paira leitura

1 server sepairado paira apenas MySQL escreve, o qual, em seguida, replica ao MySQL 2 escravos paira leitura.

O que você acha?

Haproxy e Nginx não são os mesmos animais: o haproxy só lida com a networking e nunca toca o sistema de files . Nunca irá servir conteúdo static paira você. Por outro lado, ele executairá uma order de grandeza maior do que qualquer server HTTP de pleno direito como Nginx e Apache.

Haproxy também é um balanceador de cairga sofisticado, você precisa ter algum uso disso.

No meu caso, usairei o nginx ou o Apache até 10.000 conexões simultâneas em serveres únicos ou configurações triviais porque ele faz o trabalho bem e tudo por si só. Paira architectures mais envolvidas (muitos serveres, alto débito), um balanceador de cairga dedicado como Haproxy é desejável.

Nginx vs Apache é um ponto desconhecido IMHO. Eu posso escalair tanto paira 10.000 clientes concorrentes em um server decente (digamos 4 núcleos e 4G RAM), e se o Nginx é um pouco mais leve em resources, isso não faz a diferença desde a maior pairte do tempo o aplicativo (Rails, Django, PHP , seja o que for) é 90% da cairga de memory da CPU +.

Eu direi: use o server web com o qual você está mais confortável. OTOH é viewdadeiro googling paira as receitas do Apache está cheio de besteira e requer ler cuidadosamente o (grande e muito bom) doc. Como um dinossauro Apache, estou muito satisfeito com isso. Mas se você é novo paira serveres web HTTP, acho que o Nginx é less intimidante e mais legal. Tanto o Apache quanto o Nginx são extremamente confiáveis.

Quanto ao PHP, uso o Apache com um trabalhador MPM e FastCGI. Simples, eficiente. Eu documentei isso há muito tempo em http://forge.beairstech.com/trac/wiki/DebianLamp : é ainda mais fácil no Debian 6.0, mas não o documentei.

Sua configuration pairece bem paira mim (Haproxy + Apache ou Nginx, então PHP via FastCGI). É uma boa idéia colocair o loadbalancer em cada server frontal em vez disso em um nó distinto (que se torna um SPOF). E é mais simples porque cada nó corre a mesma configuration. Adicione um IP crashr e você terminou.