I'm looking for an in-memory replicated cache for use in a load-balanced IIS scenario using (for now) two servers.
Our cache dataset is relatively small and we want a scenario like this:
All data (objects) is replicated and identical on both servers
Reads are done locally
Writes are done locally and replicated to the other server, preferably using an async write-back scheme
If server 1 goes offline and all load is distributed to server 2 (and its cache evolves), a mechanism is needed to sync server 1 from the server 2 cache when it again goes online
An object cache is preferred and possibly one with a native session state implementation in .NET. The latter is not a requirement though
I've been looking mainly at Redis, but as far as I understand this employs a master/slave relationship for replication which only allows replicated writes on one endpoint. Actually the behavior of replicated caching in general seems to focus mostly on distribution of data to multiple nodes with sharding and those kinds of algorithms. Since my cached data set is quite small I'm actually looking for a simpler solution where each server just holds a full copy of the cached data.
Any pointers as to where I can look for at simple caching mechanism that supports these features is greatly appreciated.