Pregunta

Escenario:

El sitio web está alojado en tres servidores que utilizan IIS en cada uno.

Los tres servidores se agrupan utilizando el software de equilibrio de carga de red que viene con Windows Server 2003.

Los tres sitios están configurados para almacenar el estado de la sesión en un servidor separado que ha sido designado como " state server " ;.

Se me ha pedido que escale el " servidor de estado " ;. ¿Hay alguna manera de que pueda tener más de un servidor de estado y sincronizar el estado entre ellos, de modo que si uno de los servidores de estado se cae, los otros podrán servir la información de estado?

¿Fue útil?

Solución

Yo iría por memcached. Puede configurarlo en cada uno de los servidores web y luego puede escalarlo con cada nuevo servidor web que agregue. He encontrado un par de clientes en codeplex antes.

Otros consejos

Utilizamos Scale Out State Server para este lugar donde trabajo, y hace el trabajo maravillosamente y es muy fácil de configurar. Entiendo que Microsoft también está trabajando en un producto similar llamado Velocity , pero no tengo experiencia con

El único inconveniente de SOSS es que tienes que pagar por ello, pero no he tenido más que excelentes experiencias interactuando con su equipo de ventas y soporte. Si terminas licenciando, hazme un favor y hazles saber que Daniel de Gratis te envió;)

Está buscando una tecnología de almacenamiento en caché distribuida. Microsoft Velocity es uno que tiene ejemplos publicados por Microsoft para reemplazar el estado predeterminado de la sesión ASP.NET con Velocity que puede distribuirse. Hay otros proveedores de almacenamiento en caché, como Memcache.

Editar: Actualizando esta respuesta para obtener información más relevante para la hora actual, este tipo de funcionalidad está integrada en Windows Azure con el producto AppFabric. Puede ver información breve sobre esto aquí: Windows Server y Azure AppFabric virtual lanzamiento el 20 de mayo

La base de datos de sesión en un servidor SQL se puede escalar fácilmente con un pequeño código & amp; Cambios de configuración. Puede pegar sesiones asp.net a una base de datos de sesión e independientemente de qué servidor web en su granja atienda la solicitud, su mapeo de servidor de estado sql basado en id de sesión funciona perfectamente. Esta es probablemente una de las mejores formas de escalar el estado de la sesión ASP.NET utilizando el servidor SQL. Para obtener más información, lea el enlace

Modelo True Scaleout para estado de sesión

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top