2010-04-22 11 views
6

¿Cuál es el mejor enfoque para el equilibrio de carga en los servidores web? Mis servicios se ejecutan en .NET y Mono, por lo que pueden alojarse en IIS o Apache2, y tendrán que proporcionar una conexión SSL.Equilibrio de carga y sesiones

He leído dos enfoques principales, almaceno el estado en un servidor común y uso sesiones adhesivas, ¿hay algún otro?

He leído 3 cosas diffent sobre las sesiones pegajosas:

1) la carga dispositivo sabrá con qué servidor qué empezó la conexión y todas las conexiones adicionales desde esa máquina de equilibrio serán enviados en el mismo servidor .

2) el equilibrio de carga devide leer una cookie llamada: JSESSIONID

3) el equilibrio de carga devide leer una cookie llamada: ASPSESSIONID

Estoy un poco confundido, lo que va a ocurrir exactamente? Como las conexiones serán SSL, no existe la posibilidad de que el proveedor de equilibrio de carga lea las cookies, entonces, ¿qué?

Para almacenar la propiedad en un servidor común, ¿qué soluciones conoce? He leído que Memcache es una buena solución, pero ¿hay alguna otra cosa?

Saludos.

+0

Me gusta esta pregunta. –

Respuesta

2

Al usar SSL con un equilibrador de carga, es común colocar el certificado SSL en el servidor de equilibrio de carga, y no en los servidores de fondo. De esta forma solo necesita 1 certificado en 1 servidor. El equilibrador de carga luego habla con los servidores de fondo utilizando HTTP sin formato. Obviamente, esto requiere que sus servidores de fondo no sean directamente accesibles desde Internet.

Por lo tanto, si el equilibrador de carga es responsable de descifrar la solicitud, también podrá inspeccionar la solicitud de una jsessionid.

Las sesiones adhesivas funcionan bien con Apache como balanceador de carga. Debería consultar los módulos de Apache mod_proxy y mod_proxy_balancer.

1

Generalmente, el equilibrio de carga SSL significa que el cliente está hablando con el equilibrador de carga a través de HTTPS, y el equilibrador de carga está hablando con el servidor web a través de HTTP.

Algunos equilibradores de carga son lo suficientemente inteligentes como para establecer una sesión SSL con el servidor web (para que pueda leer las cookies) y mantener una sesión SSL separada con el cliente.

Y, algunos equilibradores de carga pueden mantener la rigidez sin utilizar cookies del servidor web. Mis equilibradores de carga pueden enviar sus propias cookies al cliente (también tienen otras configuraciones de rigidez).

Cuestiones relacionadas