我正在开发的 java web 应用程序允许用户将文件(图片和文档)上传到他们的配置文件并定义这些文件的访问规则(定义哪些其他用户能够查看/下载文件)。访问控制/权限系统是定制的,规则与用户配置文件和实际文件条目一起存储在 mongoDB 中。
知道我需要分布式和容错的应用程序和存储,我需要弄清楚哪种是文件存储的最佳策略。
我应该将文件存储在包含描述和访问规则的文件文档所在的文件集合中的 mongoDB 中吗?
还是应该将文件存储在服务器的文件系统中并将路径保留在 mongoDB 文档中?使用文件系统方法,我仍然能够强制执行用户定义的访问权限以及如何执行?最后在文件系统方法中,我如何跨服务器分发文件?我应该为此使用专用服务器还是可以将文件存储在 webapp 服务器或 mongodb 服务器上?
非常感谢您的所有见解!任何帮助或反馈表示赞赏。
亚历克斯