En nuestro entorno, usamos Nginx y HA Proxy en diferentes clústeres. ¿Hay ventajas de usar uno sobre el otro?
O, ¿cuál es la mejor manera de equilibrar la carga de un clúster de servidores LAMP básico?
(No me refiero a la "mejor manera de equilibrar la carga", ya que obviamente es una situación específica).
Tanto HAProxy como nginx son excelentes opciones para equilibradores de carga HTTP de código abierto en Unix. En un nivel muy alto, las ventajas y desventajas que vienen a la mente son en mi humilde opinión:
nginx:
HAProxy:
Pero como se dijo, ambas son excelentes opciones. Elija el que le resulte más cómodo.
Eso realmente depende de lo que quieras hacer.
Nginx puede dividir la carga entre clústeres, así como enrutar dominios específicos a diferentes clústeres. Nuestro rendimiento nginx ha sido satisfactorio. Es más como un enrutador de carga.
Para haproxy, sé que consulta el estado del servidor constantemente y lo comprobaré antes de dirigirle el tráfico. También tiene una interfaz donde puede ver estadísticas. nginx No creo que haga esto en ninguna de las puntuaciones.
fuente
Usamos nginx como servidor web y estamos muy contentos con él. Nunca volveré a Apache. La desventaja es si tiene la intención de ejecutar PHP; requiere un poco de piratería informática para que funcione bajo fastCGI.
¡No olvides poner Varnish en el lugar para el almacenamiento en caché! ¡Ese simple paso resuelve muchos de los problemas de los sitios que reciben Slashdotted / Fireballed!
fuente
No soy un experto en esto, pero que yo sepa, HAProxy tiene un mejor rendimiento y es más configurable en cuanto a cómo hace el equilibrio de carga.
Ahora podría lanzarle una lista de comparaciones y puntos de referencia, pero en su lugar solo vincularé los resultados de Google https://encrypted.google.com/search?q=nginx+vs+haproxy
fuente