Opciones de equilibrador de carga [cerrado]

25

Estoy viendo una serie de posibles opciones para el equilibrio de carga.

Hasta ahora, estoy limitado a las siguientes opciones:

  • Equilibrador de carga del servidor DNS, equilibrado en un clúster de servidores tomcat, con terracota para la replicación de la sesión. Pros: no tiene que comprar un kit nuevo. Contras: DNS lb puede seguir dirigiéndose a un servidor roto.

  • Balanceador de carga de hardware, directo al clúster de servidores tomcat. Pros: podría tener una segunda casilla para la conmutación por error lb. Contras: gastos.

  • Equilibrador de carga del servidor Apache. Pros: encuestas de lb de apache para servidores dañados. Contras: el servidor apache es un punto único de falla, además de la necesidad de comprar otro servidor.

¿Hay alguna otra opción que deba considerar?

Gracias.

Actualización: Gracias por todas las respuestas hasta ahora + 1 en todos los aspectos. Aún no acepta una respuesta, para que sigan llegando más ideas.

kit de herramientas
fuente
¿Qué plataforma del sistema operativo?
spoulson
Para los equilibradores de carga S / W, será Linux
toolkit
Las ventanas integradas en el equilibrio de carga de la red tampoco son malas para el equilibrio de carga a bajo precio. Pero personalmente diría que si vale la pena, compre un F5.
sclarson
Si no hace terracota, ¿qué tipo de afinidad de sesión necesita? ¿Basada en cookies, basada en encabezado, IP?
sh-beta
@ sh-beta - ¿Supongo que depende de la implementación?
toolkit

Respuestas:

7

no elegiría lb basado en dns, exactamente por la razón que enumeras.

nginx o barniz pueden ser su otra opción lb / fail-over que se encuentra frente a appservs y actúa como proxy inverso. requieren más cuidado que la caja de hardware, pero le ahorrarán bastante dinero. asegúrese de poner esos equilibradores en algún grupo también [activo-pasivo con latido cardíaco hará el truco].

pQd
fuente
11

Si está buscando dispositivos balanceadores de carga, realmente no puede fallar con F5 Big-IP

editar: La razón por la que digo ir con Big-IP es porque es un buen dispositivo para administradores de servidores que no tienen mucha experiencia con dispositivos de red. Tiene una interfaz web agradable con opciones casi ilimitadas para configuración e informes. Son las opciones de equilibrio de carga "empresariales" más confiables y menos costosas.

Aquí hay un enlace a un estudio sobre las opciones de entrega de aplicaciones en 2007: Resultados de Gartner

Sclarson
fuente
1
Me gustan los F5 Big-IP. También es genial manejar la aceleración SSL para que los servidores web puedan lidiar con HTTP simple.
Chris W. Rea
Estoy de acuerdo, aunque si está ejecutando una operación grande, es mejor mantenerse alejado de las últimas actualizaciones que encuentre.
mryan1
Realizamos una gran organización en ellos, no estoy realmente seguro de qué últimas actualizaciones tienen que ver con el uso de F5.
sclarson
+1 para las Big-IP. Simplemente funcionan. Cuando coloca algo entre sus usuarios y sus servidores, debe ser a prueba de balas.
Brent Ozar
6

Sugiero usar HAProxy . Es extremadamente rápido Y también puede evadir el punto único de falla utilizando dos equilibradores de carga con CARP (* BSD) o UCARP / LVS (Linux)

SaveTheRbtz
fuente
4

Hemos estado utilizando Coyote Point Equalizers (equilibradores de carga de hardware) durante años y hemos estado muy contentos con ellos. Es posible que no tengan todas las características de un F5, pero aún tienen muchas características y cuestan mucho menos. El rendimiento y la fiabilidad han sido excelentes.


fuente
+1 por eso. Tenemos un par de coyotes aquí también, han estado en funcionamiento durante varios años y todavía están tarareando.
Seth
3

Tiendo a buscar LB de hardware, ya que a menudo pueden manejar una gran cantidad de tráfico, con frecuencia son 'más simples', por lo que son más capaces de endurecerse mejor / más fácilmente y, a veces, también pueden manejar otros problemas de seguridad como ataques de inundación SYN en hardware. Uso Foundry pero hay muchas opciones (F5, Cisco, etc.), aunque caro :(

Chopper3
fuente
1

Cisco GSS (Global Site Selector) es un servidor DNS que también realiza comprobaciones de estado. Obviamente, esta será una opción más costosa que un servidor DNS estándar. Página web con más detalles aquí: http://www.cisco.com/en/US/products/hw/contnetw/ps4162/index.html

F5 has similar offerings:  http://www.f5.com/products/ 
Cisco ACE product page: http://www.cisco.com/en/US/products/ps8361/index.html

Como mencionó Chopper3, el equilibrio de carga basado en hardware probablemente ofrecerá un mayor rendimiento, pero usted lo pagará.

Las características que puede buscar son: descarga SSL, soporte de vlan, contextos, agrupamiento, soporte para protocolos de enrutamiento y soporte / interacción con diferentes aplicaciones (es decir, cookies html y modificación de encabezado).

Peter
fuente
1

¿Has mirado en ldirectord ?

Se ejecuta en Linux, puede ejecutarse con el latido del corazón en las mismas máquinas que está equilibrando la carga (y, por lo tanto, tiene algo de redundancia incorporada), o, por supuesto, en su propia caja frente a ellos, es fácil de configurar, liviano y muy capaz .

Brent
fuente
1

Descubrí que la encrucijada era un excelente equilibrador de carga. Manejó nuestra carga de producción durante unos buenos siete meses, mientras que los chicos de la red resolvieron un problema de hardware con un equilibrador de carga de Cisco.

Jonathan
fuente
0

Escribí un equilibrador de carga basado en software que no requiere una máquina separada.

El inconveniente es que no está realmente listo para la producción, pero si desea probarlo en su red de prueba, estaría encantado.

Fluffy cluster está aquí

Básicamente es superficialmente similar al NLB de Microsoft (creo), aunque no tengo su fuente y no sé exactamente cómo funciona la suya.

Por supuesto, no supervisamos automáticamente la capa de aplicación, pero puede escribir algo que haga eso y cambie los pesos o elimine los nodos en consecuencia.

EDITAR: No dijiste qué sistema operativo, Fluffy cluster es solo para Linux en este momento.

MarkR
fuente
Se ve bien. Me gustaría usar ClusterIP, pero no está listo para la producción y hay muchas trampas. ¿Tiene algún plan para preparar el clúster Fluffy para la producción?
Diq
Si hay interés en ello, lo haré. Se requiere relativamente poco trabajo para una versión de capacidad limitada.
MarkR
0

keepalived es otro equilibrador de carga de Linux, que admite varios algoritmos de equilibrio de carga (obviamente) y VRRP para crear instancias redundantes con conmutación por error automática cuando un cuadro de equilibrador de carga se cae

Sander Rijken
fuente
0

Si el dinero no es una preocupación, obtenga un equilibrador de carga de hardware.

La compañía para la que trabajo utiliza Apache para frente a nuestros servidores Tomcat y el equilibrador de carga está en la misma caja que algunos de los tomcats (los tomcats usan puertos internos). Pronto nos trasladaremos a un cuadro de equilibrador de carga dedicado. Sin embargo, en breve nos trasladaremos a Nginx, creo que la configuración es más fácil y todo mucho más ligero que Apache. Dependiendo de su arquitectura de red, también le aconsejaría que use una "IP flotante" interna para el equilibrador de carga, y ejecute algo así como latido para cambiar la IP a otro cuadro si es necesario. Eso agregaría capacidades de conmutación por error sin preocuparse por los problemas de propagación de DNS.

ahanson
fuente
0

He configurado una solución con DNSMadeEasy . Tienen un buen screencast sobre la conmutación por error de DNS Tienen precios razonables. En nuestro sistema, hemos implementado un servicio simple que "hace ping" a los diferentes componentes de nuestro sistema (base de datos, cola JMS, conexión S3) y devuelve OK que DNSMadeEasy puede utilizar. Cada vez que se produce una excepción, DNSMadeEasy eliminará ese servidor de la lista de servidores que responde en esa búsqueda de DNS.

tronda
fuente
0

¿Has mirado en Perlbal?

www.danga.com/perlbal/

Rico
fuente
0

Hola @toolkit, ¿alguna vez implementaste NGinX / Varnish en tu búsqueda de LoadBalancer (LB)? ¿Si es así, cuáles fueron sus resultados? (si no te importa compartir con el resto de nosotros ;-)

Solo para resumir lo anterior (y agregar una mención para ZMQ)

Equilibrio de carga básico

Más avanzado

nelsonic
fuente