Pregunta

Tenemos un proyecto de ASP.Net MVC, que se iniciará con un único servidor web, pero es probable que en breve escala en una pequeña granja de servidores web. Como se almacena Autenticación ASP.Net una identificación de usuario y el almacenamiento en caché de datos también puede ser útil, es probable que tenga que hacer el salto al servidor de estado bastante pronto.

Me gustaría saber de los demás como servidor de estado ha sido trabajar con y cómo se escala desde una perspectiva de rendimiento.

Como alternativa, pudimos arquitecto del modo más completo sin estado al no utilizar el almacenamiento en caché de datos y el seguimiento de las sesiones con una cookie cifrada.

Actualización: He tenido alguna información errónea previamente (de un asesor técnico de Microsoft ...), autenticación no almacenar en la sesión como yo pensaba, sino que almacena en la cookie. Por lo tanto, no tendríamos necesidad de servidor de estado en esta situación después de todo.

¿Fue útil?

Solución

A completamente sin estado (sin sesión) aplicación sería más escalable. Usando ASP.NET FormsAuthentication , ID de usuario se almacena en una cookie cifrada el cual está disponible en cada petición y se puede obtener información del usuario desde un almacén de datos. Para mejorar aún más el rendimiento se podría almacenar en caché los resultados de algunas consultas caros. Lo ideal sería que esta caché se distribuye en una granja de servidores de caché. Por ejemplo youy podría utilizar memcached que tiene un proveedor para ASP.NET .

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