자바 웹 애플리케이션을 war 파일 (또는 ear 파일)의 형태로 자바 서블릿 컨테이너 (또는 애플리케이션 서버)에 배포하는 것에서 벗어나 대신 애플리케이션을 실행 가능한 jar로 패키징하는 자바 공간의 현재 추세가있는 것 같습니다. jetty와 같은 임베디드 서블릿 / HTTP 서버. 그리고 이것은 애플리케이션이 최종 사용자에게 전달되는 방식보다 새로운 프레임 워크가 새로운 애플리케이션을 개발하고 배포하는 방식에 영향을 미치는 방식에 더 가깝다는 것을 의미합니다 (예를 들어 Jenkins가 임베디드 컨테이너를 사용하는 이유를 알 수 있습니다. ). 실행 가능한 jar 옵션을 채택한 프레임 워크의 예 : Dropwizard , Spring Boot 및 Play (서블릿 컨테이너에서 실행되지 않지만 HTTP 서버가 포함되어 있음).
제 질문은 (지금까지 대부분 Struts2) 애플리케이션을 단일 tomcat 애플리케이션 서버에 배포 한 환경에서 온 것입니다. 임베디드 컨테이너 접근 방식을 사용할 계획이라면 어떤 변경, 모범 사례 또는 고려 사항이 필요합니까? ? 현재 우리는 단일 tomcat 서버에서 약 10 개의 자체 개발 한 애플리케이션을 실행하고 있으며 이러한 작은 애플리케이션의 경우 리소스를 공유하고 하나의 서버에서 관리 할 수있는 기능이 좋습니다. 당사의 응용 프로그램은 최종 사용자에게 배포되어 환경 내에서 실행되도록 설계되지 않았습니다. 그러나 새로운 Java 프레임 워크를 활용하기로 결정한 경우이 접근 방식이 변경되어야합니까? 클라우드 배포 (예 : Heroku)의 사용이 증가하면서 실행 가능한 jar 로의 전환이 촉진 되었습니까?
단일 애플리케이션 서버에서 기존의 war 파일 배포와 비교하여 Play 스타일의 배포로 여러 애플리케이션을 관리 한 경험이 있다면 통찰력을 공유하십시오.