La question ne fournit pas d'informations spécifiques sur la charge, les fonctionnalités nécessaires, etc., de sorte que toute réponse est au mieux une supposition.
La livre est un bon choix pour les sites plus petits / de taille moyenne. Il offre un support HTTPS et une configuration facile.
HAproxy peut évoluer pour saturer les canaux Ethernet 10G et offre une limitation de connexion, c'est-à-dire l'envoi uniquement du nombre de demandes simultanées à chaque serveur principal car vous avez des instances enfants Apache / Ruby on Rails à gérer.
nginx est idéal comme équilibreur de charge complet et serveur de fichiers statique. Il peut effectuer la compression HTTP, la réécriture d'URL et le service de fichiers statiques tout en effectuant l'équilibrage de charge.
Apache est également dans la série 2.2 un assez bon équilibreur de charge. Peut faire la même chose que nginx, mais place une charge plus élevée sur le serveur que nginx. Cela vaut la peine d'être étudié si vous êtes déjà familier avec Apache et très mature.
Perlbal propose une limitation de connexion facile aux hôtes principaux, des demandes de multiplexage sur des connexions HTTP persistantes et une configuration facile si vous utilisez déjà Perl.
Le cache Varnish est un proxy HTTP inverse, avec une prise en charge de base de l'équilibrage de charge. Ce n'est pas un excellent équilibreur de charge, mais dans certaines situations, sa mise en cache en mémoire de la plupart des objets demandés peut supprimer un pourcentage élevé des hits du serveur principal, et ses performances sont excellentes. Les inclusions ESI sont potentiellement intéressantes.
Je ne suis pas sûr à 100%, mais du haut de ma tête, Perlbal et nginx offrent un certain soutien pour changer la configuration sans redémarrer l'équilibreur de charge. Pour les grands sites, cela est essentiel, et c'est l'une des choses que les bonnes appliances d'équilibrage de charge commerciales font bien.
Tous les éléments ci-dessus sont des équilibreurs de charge de niveau HTTP (couche 7). Les équilibreurs de charge de niveau TCP / IP peuvent atteindre un débit plus élevé, mais sont limités à d'autres égards. L'auteur de HAProxy a rédigé un bon aperçu lisible des méthodes et des problèmes d'équilibrage de charge:
http://1wt.eu/articles/2006_lb/
LVS est un équilibreur de charge de niveau TCP / IP largement utilisé. La plupart des pare-feu peuvent également effectuer un équilibrage de charge de base au niveau IP, en hachant la demande entrante sur une plage d'adresses IP principales - au moins PF d'OpenBSD et Cisco ASA et Juniper Netscreens peuvent le faire.