Я обновляю устаревшую систему, чтобы использовать современные технологии. Одна из моих задач заключалась в том, чтобы разрешить развертывание множества различных файловых проектов в виде файлов WAR, которые будет извлекать tomcat.
Теперь у меня проблемы с двумя проектами, которые содержат так много носителей (более 20 ГБ), что упаковка их как WAR не имеет смысла.
Должен ли я просто оставить эти проекты файловыми? или есть обходной путь, чтобы мне не приходилось загонять все носители в WAR?
Изменение пути в коде не вариант, это было бы слишком долго.
По моему опыту (ну не только моему) - очень плохая идея хранить любые медиафайлы в базах данных или пытаться упаковать уже упакованные файлы (JPG, MP3 уже сжаты) в WAR
.
Вы не освободите много места и не потеряете возможность использовать механизмы кеширования статического контента (обычный случай - nginx
используется для обслуживания статического контента (чтение мультимедиа, HTML и т. д.). Файловая система кэширует часто используемые файлы и выдает их намного быстрее, чем что-либо еще. Кроме того, с точки зрения резервного копирования - если вы храните медиафайлы отдельно от WAR
приложение, то инкрементное резервное копирование было бы очень эффективным, но если вы храните весь контент в WAR
файл, то любые изменения приведут к повторному сбросу всего его содержимого.