Una cosa che si potrebbe verificare è un aumento di carico sul server del database. Se si implementa una memorizzazione nella cache dei dati del server, verrai abituato al tuo sito a colpire il database una sola volta per un determinato set di dati, memorizzando nella cache i dati e quindi non andando nuovamente al database fino a quando la cache non scade. Questa è una buona strategia per i dati comunemente utilizzati.
In un ambiente con bilanciamento del carico, le richieste successive potrebbero passare a server diversi e il database verrà colpito due volte per gli stessi dati. O più se hai più di 2 server. Questo non è male di per sé, ma ti consigliamo di tenerlo d'occhio. Se il database è in coda, i vantaggi dell'esecuzione di una webfarm potrebbero essere negati. Come sempre, benchmark, profilo ed eseguire test.
Un modo per aggirare questo è avere sessioni appiccicose. Questo è un approccio basato su router. una volta stabilita una sessione utente, tutte le richieste da quell'utente vengono indirizzate allo stesso server. Ciò ha i suoi svantaggi, in particolare, una potenziale diminuzione dell'efficienza del bilanciamento del carico, per non parlare dei problemi quando si perde un server. Inoltre, è utile solo quando si memorizzano nella cache per lo più dati specifici dell'utente, come i risultati di ricerca a pagina, che vengono memorizzati nella cache solo per un breve periodo.
Un'altra soluzione è avere una cache distribuita, in memoria, come memcached, Velocity o NCache. Ce ne sono anche altri, ma questi sono quelli con cui ho lavorato.
Un'altra cosa da tenere a mente, che non è correlata a quanto sopra è: Come gestisci i caricamenti di file dai tuoi utenti. Molti siti consentono ai file di essere caricati dagli utenti. Se tali file non sono stati precedentemente salvati in un archivio centrale, ad esempio un database o una condivisione di file comune, dovranno esserlo.
fonte
2010-08-20 14:57:51
collegamento errato. È per questo motivo che non dovresti lasciare i link come risposta – Phil