Pregunta

¿Es mejor que una colección de aplicaciones web de ASP.NET comparta la misma base de datos de sesión, o cada una debería tener la suya?

Si no hay diferencias significativas, sería preferible tener una única base de datos debido a un mantenimiento más fácil.

Fondo

Mi equipo tiene una variedad de aplicaciones web ASP.NET, todas escritas en Monorail 1.1 o ASP.NET MVC 1.0. Cada aplicación actualmente utiliza una base de datos de estado de sesión dedicada. Estoy trabajando para agregar un nuevo sitio a esa lista, y debo debatir si debería crear otra nueva base de datos de sesión, o simplemente compartir una existente con otra aplicación.

¿Fue útil?

Solución

Votaría por la separación aquí.

No creo que necesariamente encuentre que sea "más fácil de mantenimiento" a largo plazo para meter todo en una base de datos. Si cada aplicación está utilizando la misma tabla y instancia de base de datos, no puede separar una aplicación del grupo sin duplicar la base de datos completa. ¿Qué pasa si una aplicación se vuelve viral y necesita ser trasladada a su propio clúster de servidor?

Para la cantidad de trabajo que se necesita para copiar una base de datos a una nueva instancia, separará las preocupaciones de las aplicaciones, lo que facilita la depuración de ellos individualmente, más escalables y mucho más portátiles.

Otros consejos

La pregunta original era "compartir la misma base de datos de sesión". Veo esto como diferente de la base de datos de la aplicación. La sesión ASP para todas las aplicaciones sería la misma. No modificaría el esquema para ninguna de las tablas de sesión, SP, etc., alojamos una serie de aplicaciones, cada una con su propia base de datos privada para los datos de aplicación y una única base de datos compartida para la sesión.

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