Преимущества / недостатки взорванных файлов WAR
В ответе на вопрос, который я прочитал сегодня, предлагалось развернуть приложение в виде разнесенной (разархивированной) WAR. Это заставило меня задуматься.
Каждое развертывание, которое я когда-либо делал для JBoss/Tomcat, было с файлом WAR / EAR. По крайней мере, насколько я помню.
Я ошибался все эти годы?
Есть ли преимущества развертывания приложения в развернутом виде, а не в упакованном виде?
6 ответов
Я думаю, что это был мой ответ, упомянув взорванную ВОЙНУ в другом вопросе. Развернутые WAR легче перемещать, и вы можете развернуть "части" своего приложения намного быстрее (в зависимости от того, как с этим справляется наш сервер Web/App), например, заменить один ресурс, такой как страница JSP. Однако это может иметь некоторые недостатки:
1.) Какую версию вы действительно используете? "Хм, я не совсем уверен сейчас"
2.) Безопасность - есть ли у вас права доступа для разобранного формата?
3.) Беспорядок - файлы изобилуют по всему вашему прекрасному приложению / веб-серверу (некоторые люди действительно ненавидят это).
Я стремлюсь взорваться для прототипа разработки Dev, а затем перейти к правильной упаковке ближе к PRD я получаю.
Единственное реальное преимущество, которое вы получаете от развертывания "уши и войны", - это возможность горячей замены файлов на сервере, а также экономия времени на упаковке (что, по моему мнению, ничтожно мало).
В основном - это полезная функция для этапов разработки. Я не выбрал бы этот метод развертывания для производственной среды.
Есть также некоторые серверы веб-приложений, которые требуют взрывных войн для некоторых эзотерических функций, но с этим я не сталкивался при регулярном использовании.
На этапе разработки удобнее развернуть его взорванным. Таким образом, вы можете оперативно обновлять некоторые развернутые ресурсы (например, страницы JSP).
Для сред тестирования и производства я предпочитаю пакетное развертывание: более простое и легкое в обращении для развертывателей.
Против: если вы находитесь в Windows, вы часто обнаружите, что ОС случайным образом блокирует какой-то файл в разобранном файле.war, и вам будет сложно удалить всю войну и повторно развернуть ее.
Отсутствие разрыва WAR/EAR при развертывании не имеет никакого значения для сервера приложений. Это потому, что внизу они все взорвались.
Например, если вы поместите файл WAR в веб-приложение tomcat, вы увидите, что в вашем рабочем каталоге ваш файл WAR будет взорван там.
По сути, WAR/EAR просто архивируют ваши файлы, чтобы их было легче перемещать и развертывать.
AFAIK, горячее развертывание возможно только при взорвавшихся войнах. А также в процессе разработки легче просматривать дерево проекта на сервере. Конечно, могут быть и другие преимущества и недостатки, которые я буду рад услышать.