EAP7 vs Tomcat 8은 여러 번 답변 된 답변입니다. here, here 및 here.
Tomcat은 EAP7이 지속성, 메시징, 웹 서비스, 보안, 관리 등과 같은 모든 Java EE 7 기능을 제공하는 응용 프로그램 서버 인 웹 컨테이너 일뿐입니다. EAP7은 웹 프로필과 전체 프로필의 두 가지 프로필 . 웹 프로파일은 많은 트리머 버전이며 일반적으로 웹 응용 프로그램을 작성하는 데 필요한 관련 구현 만 포함합니다. 전체 프로필은 기대했던대로 플랫폼의 완전한 영광을 담고 있습니다. 따라서 EAP 7 웹 프로파일을 사용하면 부풀어 오름을 상당히 줄일 수 있습니다.
Tomcat을 사용하면 동등한 기능을 제공하고 모든 관련 JAR을 응용 프로그램과 함께 패키징하기 위해 Spring과 같은 것을 사용해야 할 것입니다.
이 토론은 새로운 프로젝트를 시작하고 Java EE 또는 Spring 리소스를 모두 가지고있을 때 일반적으로 유용합니다. 다음은 EAP7 사용을 고려할 수있는 이유입니다.
- EAP 6.4를 이미 사용하고 있습니다. EAP 7 로의 마이그레이션은 매끄럽게 이루어집니다. Docker를 사용하면 애플리케이션 패키징 스타일이 달라집니다. 기존 모니터링, 클러스터링, 로깅은 모두 계속 작동합니다. Tomcat을 사용한다면 Spring의 일을 배워야 할 것이다. 실험에 시간과 자원이 있고 기꺼이한다면, 그 길로 갈 수도 있습니다. 그러나 당신이 그것을 얻고 자하는 것에 대해 생각해보십시오.
- EAP 7은 컨테이너 및 클라우드 배포에 최적화되어 있습니다. 특히 OpenShift 서비스로 사용할 수 있으므로 OOTB에서 작동합니다.
- EAP 7은 EAP 6.4보다 대기 시간 및 처리량면에서 상당한 성능 향상을 제공합니다. 자세한 내용은 https://access.redhat.com/articles/2607521을 참조하십시오.
TomEE도 고려해 볼 수 있습니다. Tomcat과 통합 된 Java EE 스택을 제공합니다.
@ Federico가 권장하는 또 다른 옵션으로는 WildFly Swarm을 사용하는 것이 좋습니다. 그런 다음 Java EE 플랫폼의 원하는 부분을 실제로 사용자 정의 할 수 있습니다. 또한 배포 모델에서 JAR 파일을 사용하고 있습니다.
Docker를 사용한 패키징은 모두 기본 이미지를 제공하므로 애플리케이션을 묶어야합니다. 도커 이미지의
- 크기 : 여기 microservices에 대한 도커 이미지를 사용하기위한 중요한 고려 사항 몇 가지가 컨테이너가 예기치 않게 사망하거나 오케스트레이션 프레임 워크는 다른 호스트에 일정을 결정할 수있다. 이미지 크기가 클수록 다운로드 시간이 오래 걸립니다. 이는 서비스의 시작 시간이 더 커질수록 더 커질 수 있음을 의미합니다. 이는 앱의 동적 인 스케일링이 효과적이기까지 더 오래 걸린다는 것을 의미합니다.
- 이미지의 부팅 시간 : 이미지를 다운로드 한 후 컨테이너가 빠르게 시작될 수 있지만 응용 프로그램을 "준비"하는 데 시간이 얼마나 걸립니까?
저는 개인적으로 Tomcat/Spring보다 Java EE 스택에 익숙하며 WildFly는 자주 사용되는 응용 프로그램 서버입니다.
어쩌면 도움이 될 수 있습니다. http://wildfly-swarm.io 예 : https://github.com/wildfly-swarm/wildfly-swarm-examples/tree/master/docker/docker-jaxrs –