Domanda

È meglio per una raccolta di app Web ASP.NET condividere lo stesso database di sessione o ognuno dovrebbe averne una sua?

Se non vi è alcuna differenza significativa, avere un singolo database sarebbe preferibile a causa di una manutenzione più facile.

Sfondo

Il mio team ha un assortimento di app Web ASP.NET, tutte scritte in Monorail 1.1 o ASP.NET MVC 1.0. Ogni app attualmente utilizza un database di stato di sessione dedicato. Sto lavorando per aggiungere un nuovo sito a quell'elenco e sto discutendo se dovrei creare un altro nuovo database di sessione o semplicemente condividerne uno esistente con un'altra app.

È stato utile?

Soluzione

Voterei per la separazione qui.

Non credo che a lungo è necessariamente scoprire che è una "manutenzione più facile" per riempire tutto in un database. Se ogni app utilizza la stessa istanza di tabella e database, non è possibile separare un'applicazione dal pool senza duplicare l'intero database. Cosa succede se un'app diventa virale e deve essere spostata nel suo cluster server?

Per la quantità di lavoro necessaria per copiare un database in una nuova istanza, separerai le preoccupazioni delle applicazioni, rendendo più facile il debug individualmente, più scalabile e molto più portatile.

Altri suggerimenti

La domanda originale era "Condividi lo stesso database della sessione". Lo vedo diverso dal database dell'applicazione. La sessione ASP per tutte le applicazioni sarebbe la stessa. Non modificheresti lo schema per nessuna delle tabelle di sessione, SP ecc ... Ospitiamo una serie di applicazioni, ognuna con il proprio database privato per i dati di aplicazione e un singolo database condiviso per la sessione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top