Avantages de l'utilisation de Nginx ou du proxy HA comme équilibreur de charge

9

Dans notre environnement, nous utilisons à la fois Nginx et HA Proxy sur différents clusters. Y a-t-il des avantages à utiliser l'un par rapport à l'autre?

Ou, quelle est la meilleure façon de procéder à l'équilibrage de charge d'un cluster de serveurs LAMP de base?

Jason
la source

Réponses:

8

(Je n'entre pas dans la "meilleure façon d'équilibrer la charge", car cela est évidemment spécifique à la situation.)

HAProxy et nginx sont d'excellents choix pour les équilibreurs de charge HTTP open source sous Unix. À un niveau très élevé, les avantages et les inconvénients qui viennent à l'esprit sont à mon humble avis:

nginx:

  • Peut effectuer le déchargement SSL (souvent un gros problème).
  • Possède un riche ensemble de modules de traitement de contenu, à savoir la réécriture d'en-tête, la compression de contenu, etc.
  • Peut parfois être «le seul HTTPd dont vous avez besoin», ce qui simplifie l'administration si vous n'avez pas besoin d'autres HTTPd.
  • Plus extensible avec des plugins, fx pour router le trafic.

HAProxy:

  • Peut offrir des performances de serveur unique supérieures à nginx (en particulier lors de l'exécution en mode TCP, 10 Gbit / s a ​​été démontré ).
  • À mon humble avis plus simple à mettre en place et à exécuter pour les configurations de base d'équilibrage de charge HTTP simple.
  • Les changements un peu moins, en particulier les branches stables légèrement plus anciennes, passent souvent un certain temps sans avoir besoin de mises à jour de sécurité et de stabilité.

Mais comme dit, les deux sont d'excellents choix. Choisissez celui avec lequel vous vous sentez le plus à l'aise.

Jesper M
la source
1
La compression est un gros plus pour nginx donc j'ai fini par aller: haproxy + nginx pour avoir un basculement simple (haproxy) et une compression gzip (nginx).
Alexis Lê-Quôc
2

Cela dépend vraiment de ce que vous voulez faire.

Nginx peut répartir la charge entre les clusters, ainsi que router des domaines spécifiques vers différents clusters. Notre performance nginx a été satisfaisante. Cela ressemble plus à un routeur de charge.

Pour haproxy, je sais qu'il interroge constamment l'état du serveur et vérifiera le serveur avant de diriger le trafic vers lui. Il dispose également d'une interface où vous pouvez afficher des statistiques. nginx Je ne pense pas que cela se fasse sur les deux points.

Daniel Baker
la source
1

Nous utilisons nginx comme serveur Web et nous en sommes très satisfaits. Je ne retourne jamais à Apache. L'inconvénient est que vous avez l'intention d'exécuter PHP; il nécessite un peu de piratage pour le faire fonctionner sous fastCGI.

N'oubliez pas de mettre Varnish en place pour la mise en cache! Cette simple étape résout un grand nombre des problèmes des sites Slashdotted / Fireballed!

gWaldo
la source
0

Je ne suis pas un expert dans ce domaine, mais pour autant que je sache, HAProxy a de meilleures performances et est plus configurable dans la façon dont il effectue l'équilibrage de charge.

Maintenant, je pourrais vous lancer une liste de comparaisons et de repères, mais je vais simplement lier les résultats Google à la place https://encrypted.google.com/search?q=nginx+vs+haproxy

Indisponible
la source