我正在更新旧系统以使用当前技术。我的任务之一是允许许多不同的基于文件的项目部署为 WAR 文件,然后由 tomcat 提取。
现在我遇到了两个特别麻烦的项目,它们包含太多的媒体(超过 20GB),将它们打包为 WAR 是没有意义的。
我是否应该简单地让这些项目基于文件?或者是否有解决方法,以便我不必将所有媒体都塞进 WAR?
更改代码中的路径不是一个选择,因为它太冗长了。
答案1
根据我的经验(好吧,不仅仅是我的经验) - 将任何媒体文件保存在数据库中或者尝试打包已经打包的文件(JPG,MP3 已经被压缩)是一个非常糟糕的主意WAR
。
您将不会释放大量空间,并且会失去使用静态内容缓存机制的能力(通常情况 -nginx
用于提供静态内容(读取媒体、html 等)。文件系统缓存经常访问的文件,并且比其他任何东西都更快地将其释放。除此之外,从备份的角度来看 - 如果您将媒体文件与WAR
应用程序分开保存,那么增量备份将非常有效,但如果您将所有内容都保存在一个WAR
文件中,那么任何更改都将触发再次转储其所有内容。