我正在开发的java Web应用程序允许用户将文件(图片和文档)上传到他们的配置文件,并定义这些文件的访问规则(定义哪些其他用户能够查看/下载文件)。访问控制/权限系统是定制的,规则存储在mongoDB中,与用户的配置文件和实际文件条目一起存储。
知道我需要分布式应用程序和存储以及容错,我需要弄清楚哪个是文件存储的最佳策略。
我是否应该将mongoDB中的文件存储在包含描述和访问规则的文件文件所在的文件集中?
或者我应该将文件存储在服务器的文件系统中并保留mongoDB文件中的路径?使用文件系统方法,我仍然可以强制执行用户定义的访问权限以及如何执行? 最后在文件系统方法中如何在服务器之间分发文件?我应该为此使用专用服务器,还是可以将文件存储在webapp服务器或mongodb服务器上?
非常感谢您的所有见解!任何帮助或反馈意见。
亚历
答案 0 :(得分:7)
有几种选择:
在你的情况下,听起来最后一个选项可能是最好的,有很多用户从FS切换到gridFS并且它对他们来说效果很好。 要记住的事情: