couchdb - Caching with multiple server -


I am creating an application with multiple servers. (4 servers where each has databases and webservers. 1 master database and 3 slaves + one load balancer)

There are several approaches to enabling caching. It's quite easy and not quite efficient right now. All caching is done on an NFS partition share between all servers, inhibit NFS architecture.

  1. I apply multiple ideas to caching. This can be done on a server level (local file system), but the problem is to invalidate the cache file, when the content has been updated on all servers: this can be done through a small cache lifetime (not efficient because the cache Refresh it soon that it should be most of the time)
  2. This can be done by a messaging system (for example XMPP), where each server communicates with each other. The server responsible for being valid requests all to request that the cash has been canceled. Latency is probably bigger (take more time to know that the cache has been invalid) but my application does not require nuclear cash declaration.
  3. The third method is to use the cloud system to store the cache (like CouchDB) but I do not have any idea of ​​performance for this one, is it faster than using SQL Database? I have planned to use the Zend Framework but I do not think it is really relevant (except that some packages are probably present in other frameworks to deal with XMPP, CouchDB )

    Requirements: Continuous cache (if the server restarts, then the server should not be cached to avoid bringing down the cache)

"post-text" itemprop = "text">

In your mailbox Received covers to put down most needs - read the message-based, made null and void. High availability and high speed, but very little nuclear reliability (sacrifice for performance).

(Also, the powers of the memcatch such as YouTube, Wikipedia, Facebook, so I think it can be well established that the time, money and talent are seriously evaluated for many distributed caching options Memcached to!)

Edit (in reply to the comment) The idea of ​​a cash is relatively temporary compared to your backing store if you keep the cache data going on for long Necessary If so, then I would either like (A) to get my data level to get more performance, or (b) adding a middle-level database server which is the straight-key-value-pair tables, or some close Guess from


Comments