Domanda

Nel mio progetto attuale, dobbiamo creare un sito web (ASP.NET MVC), che rischia di avere carico sufficiente per chiedere una server farm. Capisco che se si utilizza server farm, gli stati di sessione devono essere memorizzati da qualche altra parte, come database del server SQL o server di stato.

Dopo alcuni esperimenti, siamo inclini a utilizzare il meccanismo di server di stato, ma il fatto che avrà single point of failure, mi rende nervoso. Esiste un metodo con il quale siamo in grado di evitare di "single point of failure" quando si utilizzano server di stato?

È stato utile?

Soluzione

C'è una cosa chiamata sessione stato il partizionamento che si potrebbe usare, al fine di evitare un single point of failure. Se questo ancora non si adattano, allora si potrebbe prendere in considerazione cercando la ASP.NET Velocity progetto, che sembra promettente anche se è in fase di CTP solo.

Se si vuole piena scalabilità e ridondanza, allora probabilmente si dovrebbe utilizzare un cluster SQL Server.

Altri suggerimenti

sharedcache ( http://www.sharedcache.com o http://sharedcache.codeplex.com ) ha un'implementazione per le sessioni, non è rilasciato finora, ma le persone lo usano.

È possibile impostare la replica di SQL Server a un altro computer o utilizzare un cluster di failover . Questo potrebbe potenzialmente essere costoso, ma renderebbe il componente del database più robusto.

Tecnicamente, la vostra camera attrezzature server web è un singolo punto di errore, così come la rete, ecc se non necessariamente essere più nervoso per lo stato della sessione di una di queste.

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