Question

In my current project, we have to create a website (ASP.NET MVC) which is likely to have sufficient load to demand a server farm. I understand that if server farm is used, session states must be stored on somewhere else such as SQL server database or state server.

After some experimentation, we are inclined to use the state server mechanism but the fact that it will have single point of failure, makes me nervous. Is there any method by which we can avoid "single point of failure" when using state server?

Was it helpful?

Solution

There is something called session state partitioning that you could use, in order to avoid a single point of failure. If this still doesn't suit you, then you might consider trying the ASP.NET Velocity project, which it looks promising even though it is in CTP stage only.

If you want full scalability and redundancy, then you should probably use a SQL Server Cluster.

OTHER TIPS

sharedcache (http://www.sharedcache.com or http://sharedcache.codeplex.com) has an implementation for sessions, it's not released so far but people are using it.

You could set up SQL Server replication to another machine or use a failover cluster. This could potentially be expensive but would make your database component more robust.

Technically, your web server equipment room is a single point of failure, as well as your network, etc. I wouldn't necessarily be more nervous about session state than any of those.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top