2010-11-01 12 views
8

Comenzando a desarrollar el código actual de mi sitio web y quería saber cómo puedo desarrollar o diseñar el sitio web que sea amigable con el balance de carga. Leí una publicación sobre stackoverflow con respecto a la escalabilidad y la respuesta seleccionada decía: "Asegúrese de considerar el equilibrio de carga al desarrollar su aplicación". ¿Cómo hago esto?Cómo desarrollar una aplicación web que sea amigable con el balance de carga

Respuesta

3

Su decisión se reducirá al medio ambiente. Si se trata de un producto en venta, no tendrá ningún control sobre la implementación del equilibrio de carga. Esto significa que las "sesiones adhesivas", en las que un usuario está vinculado al mismo servidor durante la duración de una sesión, no se pueden garantizar. Las sesiones fijas permiten que cualquier aplicación tenga equilibrio de carga, pero no son tan eficientes.

Si no puede garantizar una implementación con sesiones fijas, evite el uso del estado de sesión por completo o busque una solución de sesión compartida.

+0

+1 por mencionar sesión adhesiva – Aliostad

1

Bueno, una respuesta es reducir la dependencia de las variables de sesión. Es posible compartir variables de sesión entre servidores a través del servidor de sesión, pero eso significa que todos sus servidores tienen un único punto de falla en el servidor de sesión, además de reducir el rendimiento.

Básicamente, simplemente intente hacer que cada página sea independiente y sin estado como sea posible, y estará bien.

2

1) no utilizan campos estáticos para almacenar datos, estadísticas, ...

2) utilizan sesión con cuidado - todavía se puede utilizar en proceso con ssessions pegajosas, pero no me gusta.

3) No confíe en la IP del servidor que

+0

+1 para la punta IP. Es fácil olvidar eso. –

0

Uno a tener en cuenta es el uso de los datos de sesión para mantener el estado.

Como las solicitudes subsiguientes de la aplicación pueden ser manejadas por otros servidores en la línea de saldo, no puede usar el modo InProc y el modo StateServer.

+0

De hecho, puede usar ambos, es solo el escenario de la sesión adhesiva en un entorno de carga equilibrada. – Aliostad

1

Esto podría ser obvio para la mayoría de ustedes, pero en realidad era un problema en nuestro entorno cuando comenzamos a usar un equilibrador de carga/varios servidores web: No confíe en las direcciones IP de su servidor web.

Teníamos un entorno de producción que usaba un conmutador y un conjunto de direcciones IP internas, incluida la del servidor web (nuestros productos generalmente se ejecutan en un entorno cerrado, no en Internet abierto). Si tiene varios servidores web, eso se convierte en un problema.

1

Asegúrese de tener un entorno de desarrollo/QA donde pueda probar su software en un entorno equilibrado de carga y ver los problemas en su código a medida que lo desarrolla en lugar de esperar hasta el día del despliegue.

Cuestiones relacionadas