我有一个在Web服务器上运行的内容管理系统,其中包括允许用户将图像,文件等资源上传到服务器。
我遇到的问题是在负载均衡器后面会运行2台服务器,我正在尝试找到一种有效的方法来处理资产管理。
我的问题是:
每次都会将资产上传到一台服务器吗?或者是否有可能图像/文件最终会进入server1或server2,具体取决于负载?
如果我不知道他们最终进入哪个服务器,如何提供图像?我是否必须在两台服务器之间保持这些资产(图像/文件)的目录同步?
谢谢,
答案 0 :(得分:1)
同步是一个难以破解的问题。您可以使用Couchdb进行临时同步,但这需要很好地了解低级问题。因此,您需要选择写主机。
<强> DRDB 强>
您可以查看DRDB:D使用一台服务器作为写主机,另一台服务器作为从机。然后,您可以从两者服务器内容。这种方法对于数据库对来说是惊人的。
注意:为write-master和仅服务分隔你的代码和网址会很烦人
<强> CouchDB的强>
您可以使用couchdb,但我认为这可能有点矫枉过正。这适用于大量数据和高级容错。
<强> NFS 强>
您可以将write-master上的资产目录导出为nfs驱动器,然后从另一台计算机导入该目录。但在这种情况下,它不会在所有情况下进行负载平衡 - 即,仅当文件由从属程序缓存时。您可以使用第三台计算机作为NFS服务器 - 这将允许您扩展到更多的Web服务器。
中央NFS服务器可能只是您的最佳解决方案,因为您可以在没有写入主服务器的情况下完成,因为每个前端服务器都可以执行写入操作。这是我将使用的方法,除非我考虑超过peta字节范围:P