我有这个项目,我已经工作了3年+。它很大。而且我正在考虑未来的更新/场景,因为我正在完成它,以及最后的触摸工作。
我最近在网上查看了Apache / webserver守护进程平衡,为了平衡目的,它为带有线程的文件提供了超过1台服务器。
我的问题是,因为我在linux框中的所选文件夹中保存文件(图像):
当页面从另一台辅助服务器(平衡)提供时,用户需要保存图片,他在哪里保存?我需要知道这一点,所以如果我最终得到多个httpd服务器,我需要知道我的用户保存的所有文件都应该是它们,所以应用程序会整齐地显示它们。
答案 0 :(得分:1)
这里有很多解决方案,具体取决于预算,技能等。首先,您的负载平衡软件应具备确保会话粘滞的功能,以便您的用户不会切换到其他服务器通过上传的方式,或选择一个服务器来处理所有上传。上传图像后,你可以:(我只有Linux服务器的经验,你没有说过哪个操作系统)
使用网络附加存储 - 可能会变得昂贵
当您希望保持文件和元数据在多个系统和设施中自动同步和部署时。
关于上传到CDN的说明,如果本地副本消失,一次性下载它们可能会很昂贵,因此不一定是单独使用的解决方案
最好不要使用NFS共享(在网络上安装图像的目录),因为这意味着如果一台服务器出现故障,最好的情况是没有服务的图像,最糟糕的是它会拖延其他服务器(发生这种情况! )
数据库更新
我很久以前就已经打折存储blob了,因为在我需要在多台服务器上拥有图像的项目中,我们有肖像,横向和方形版本,每种版本大约有6种尺寸(文章,画廊,列表页面,移动等)但是现在我想起来了。我可能会考虑将最大/原始数据存储在数据库中,并通过缓存按需生成其他数据,这可能会很好地工作