2011-12-24 25 views
6

Uso un equilibrador de carga en mi sitio web. El navegador inicia una conexión websocket con mi servidor de aplicaciones. ¿La conexión abierta consume recursos en el LB o es directa entre el navegador y el servidor de la aplicación? Si hay algo abierto en el LB, ¿no es un cuello de botella? Quiero decir, si mi LB puede manejar X conexiones abiertas, entonces el usuario X + 1 ni siquiera podría abrir una conexión.websockets con escalabilidad del equilibrador de carga

Respuesta

5

¡Depende!

Los equilibradores de carga más eficientes escuchan las solicitudes, realizan algunos análisis y envían las solicitudes; todos los bits no viajan a través del equilibrador de carga. El reenvío de red ocurre en una capa de red inferior a http (por ejemplo, no es una redirección http 302: el cliente nunca sabe que sucedió, manteniendo la privacidad en torno a la configuración de la red interna; esto ocurre en el nivel 4, creo que es el OSI).

Sin embargo, algunos balanceadores de carga agregan más características, como actuar como puntos finales SSL o aplicar compresión gzip. En estos casos, están procesando bits a medida que pasan (cifrar/descifrar o comprimir en este caso).

Una imagen puede ayudar. Compare el primer diagrama con el segundo & tercero here, notando la redirección en el primero que está ausente en los otros.

Cuestiones relacionadas