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.
fuente
Respuestas:
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].
fuente
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
fuente
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)
fuente
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
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 :(
fuente
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
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).
fuente
¿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 .
fuente
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.
fuente
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.
fuente
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
fuente
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.
fuente
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.
fuente
¿Has mirado en Perlbal?
www.danga.com/perlbal/
fuente
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
fuente