 <p>If you ultimately decide to move the cache outside your main webserver process, then you could also take a look at <a href="http://en.wikipedia.org/wiki/Consistent_hashing" rel="nofollow">consistent hashing</a>. This would be a alternative to a replicated cache.</p> <p>The problem with replicated caches, is they scale inversely proportional to the number of nodes participating in the cache. i.e. their performance degrades as you add additional nodes. They work fine when there is a small number of nodes. If data is to be replicated between N nodes (or you need to send eviction messages to N nodes), then every write requires 1 write to the cache on the originating node, and N-1 writes to the other nodes.</p> <p>In consistent hashing, you instead define a hashing function, which takes the key of the data you want to store or retrieve as input, and it returns the id of the server in the cluster which is responsible for caching the data for that key. So each caching server is responsible for a fraction of the overall keys, the client can determine which server will contain the sought data without any lookup, and data and eviction messages do not need to be replicated between caching servers.</p> <p>The "consistent" part of consistent hashing, refers to how your hashing function handles new servers being added to or removed from the cluster: some re-distribution of keys between servers is required, but the function is designed to minimize the amount of such disruption.</p> <p>In practice, you do not actually need a dedicated caching cluster, as your caches could run in-process in your web servers; each web server being able to determine the other webserver which should store cache data for a key.</p> <p>Consistent hashing is used at large scale. It might be overkill for you at this stage. But just be aware of the scalability bottleneck inherent in O(N) messaging architectures. A replicated cache is possibly a good idea to <em>start with</em>.</p> <p>EDIT: Take a look at <a href="http://infinispan.org/docs/5.3.x/faqs/faqs.html" rel="nofollow">Infinispan</a>, a distributed cache which indeed uses consistent hashing out of box.</p>