Redis for Session Store and failover

In the old times there was AppFabric and it was good
But no more.

Microsoft has chosen Redis as their alternative for distribute cache.
So if you had a a distributed session and you were planning on using AppFabric, you must start considering Redis. (There is a good Third Party option called NCache which has an opensource version but I will consider that in other posts)

The latest official version of Redis is 3.0.0. The latest stable version of Redis that runs on Windows (provided by Microsoft Open Technologies) is version 2.8.19.

The main difference is Redis Cluster. Earlier versions offer clustering but they handle failover different.

Redis Cluster (Redis 3.0) is essentially self managing. The nodes of the cluster will look after themselves and propogate masters in the event of failover. If a client attempts to talk to a master that has since recycled into a readonly slave it will received a MOVED failure message.

Redis Sentinel is available to you with the Windows port of Redis. You run it using the redis-server executable, but with a --sentinel command switch official documentation.

The MS Provider and the Harbour Provider they both rely on Redis Sentinel and the options for solving the failover are limited and the issues are the same. Stephen Kennedy has an excellent post on redis failover not yet a solution.

In there you can see that you can:
a) Use Infraestructure as VMWare Fault Tolerance
b) Big Red Button you monitor with something like Opserver and press the button when something fails
c) Write or Inherit from MS or Harbour Session State Provider to override the defualt behaviour because MS provider only reads from the web.config for the cache node connection strings. But as stated in Stephen's post this is current gap and there is not a definite solution.