我正在构建一个包含多个服务器的应用程序。 (4台服务器,其中每一个有一个数据库和一个网络服务器。1主数据库和3个从站+一个负载平衡器)与多个服务器缓存
有几个方法来启用高速缓存。现在它非常简单而且效率不高。 所有缓存都在所有服务器之间的NFS分区共享上完成。 NFS是架构中的瓶颈。
- 我有几个想法实现 缓存。它可以在服务器 水平(本地文件系统)上进行,但 问题是无效缓存 文件时,内容已经全部服务器上 更新:它可以是 由具有少量缓存 一辈子做(不有效,因为 缓存将刷新越快,它 应该是大部分时间)
- 它也可以通过短信 系统正(XMPP例如),其中每个 服务器相互沟通来完成。 负责 缓存失效的服务器发送一个 请求给所有其他人,让他们知道 缓存已被 无效。延迟大概是 更大(需要更多时间才能让大家知道 缓存已被无效),但我的应用程序 不需要原子缓存 无效。
- 第三种方法是使用云系统来存储缓存(如 CouchDB),但我不知道这个性能为 。它是否比使用SQL数据库快 ?
我打算使用Zend框架,但我不认为这是真正相关的(除了一些包装在其他框架可能存在处理XMPP,CouchDB的)
要求:持久高速缓存(如果一台服务器重新启动后,缓存应该不会输给避免关闭服务器同时重新创建缓存)
事实上,我们的缓存基地将相当大(几个演出)。我们已经在使用memcached,但所有时间都使用了值(来自user_id的用户名,...)。 我正在寻找一个缓存系统,在重新启动后会在那里。否则它会在重新启动时终止数据库。 – stunti 2009-01-28 02:59:40