我在建设有涉及到多个服务器上的应用程序。 (4台服务器,其中每一个都有一个数据库和一个网络服务器。1主数据库和3奴隶+一个负载均衡器) P>
有几种方法来启用缓存。现在它是非常简单和效率不高的。 所有缓存完成在所有服务器之间的NFS分区共享。 NFS是在架构中的瓶颈。 P>
- 在我有几个想法实现 缓存。它可以在服务器上进行 级(本地文件系统),但 问题是无效的高速缓存 文件时的内容已经 更新所有服务器上的:它可以是 由具有少量的缓存进行 寿命(效率不高,因为 高速缓存将刷新越快,它 应该是大部分时间) LI>
- 它也可以通过一个消息进行 系统正(XMPP例如),其中每个 彼此服务器通信。 负责该服务器 缓存失效发 请求到所有其他让他们 知道,高速缓存已 无效。延迟可能是 更大(需要更多的时间给大家 要知道,高速缓存已 无效),但我的应用程序 不需要原子缓存 无效。 li>
- 第三方法是使用一个云 系统来存储高速缓存(像 CouchDB的),但我不知道的 表现为这一个。是吗 比使用SQL数据库快? li> OL>
我打算使用Zend框架,但我不认为这是真正相关的(除了一些包可能存在于其他的框架来处理XMPP,CouchDB的) P>
要求:持续高速缓存(如果重新启动服务器,缓存不应该丢失,以避免关闭服务器同时重新创建缓存) P>