이것은 Tomcat과 JBoss 사이에 어떤 서버가 더 낫다는 오래된 질문 (그러나 :)입니다.하지만 아직 내 문제를 해결할 충분한 대답을 찾지 못했습니다.
Tomcat은 서블릿 엔진 일 뿐이며 JBoss는 기본적으로 더 많은 기능을 제공하지만 이해하지 못하는 것은 Tomcat이 일부 상황에서 jboss보다 더 나은 이유입니다. JBoss에 플러그 가능한 아키텍처가있는 곳을 읽었으며 필요한 경우 JBoss에서 기능을 분리하여 기본적으로 Tomcat 서블릿 컨테이너로 만들 수 있습니다. 이 경우 Tomcat을 사용하는 대신 다시 연결하는 범위를 벗어나기 위해 Tomcat을 사용하는 것이 좋습니다.
Tomcat을 선호하는 또 다른 설명은 가볍고 메모리 요구 사항이 적거나 더 빠른 응답을 허용한다는 것입니다. 다시 말하지만, 서블릿 만 사용하는 경우 요구 사항에 따라 jboss로드 구성 요소를로드하지 않을 것입니다. 즉, jboss가 나머지 기능을 건너 뛰고 자동으로 가벼워지지 않습니다.
기본적으로 내 응용 프로그램에는 Java EE 기능이 없지만 Tomcat을 선호하는 ‘경량’인수는 위에서 언급 한 이유로 충분히 설득력이 들리지 않습니다.
도와주세요.
편집 : 마침내 Tomcat을 사용하기로 결정했으며 6 개월 이상 사용하기가 쉬워졌습니다. 실제로 우리는 서로 다른 개발자를 위해 동일한 서버 시스템에서 여러 Tomcat 인스턴스를 매우 쉽게 실행할 수있는 실용적인 사용법을 발견했으며 jboss로는 매우 어려웠습니다.
Tomcat이 우리 작업에 번거 로움이 없다는 것을 알았으므로 Java EE 기능을 많이 사용하지 않을 때 올바른 선택이 될 수 있습니다. 추신 : 우리는 여전히 Tomcat과 함께 Spring과 Hibernate를 사용합니다.
답변
먼저 사실도 나아 지지 않습니다 . 이미 언급했듯이 Tomcat은 서블릿 사양을 지원하는 서블릿 컨테이너를 제공합니다 (Tomcat 7은 서블릿 3.0을 지원함). ‘완전한’애플리케이션 서버 인 JBoss AS는 현재 버전에서 Java EE 6 (Servlet 3.0 포함)을 지원합니다.
Tomcat은 상당히 가벼우 며 Servlet API 이외의 특정 Java EE 기능이 필요한 경우 애플리케이션의 일부로 필요한 라이브러리를 제공하여 Tomcat을 쉽게 향상시킬 수 있습니다. 예를 들어, JPA 기능이 필요한 경우 Hibernate 또는 OpenEJB를 포함 할 수 있으며 JPA는 거의 즉시 작동합니다 .
Tomcat 또는 전체 스택 Java EE
애플리케이션 서버 를 사용할지 여부를 결정하는 방법 :
프로젝트를 시작할 때 필요한 것이 무엇인지 알아야합니다. 엔터프라이즈 환경이 큰 경우 JBoss (또는 다른 Java EE 서버)는 다음과 같은 내장 지원을 제공하므로 올바른 선택 일 수 있습니다.
- 비동기식 통합을위한 JMS 메시징
- 웹 서비스 엔진 (JAX-WS 및 / 또는 JAX-RS)
- JMX 및 스크립트 관리 인터페이스와 같은 관리 기능
- 고급 보안 (예 : 타사 디렉토리와의 즉각적인 통합)
- “전용”WAR 파일 지원 대신 EAR 파일
- 기억할 수없는 다른 모든 “훌륭한”Java EE 기능 🙂
내 생각에 Tomcat은 웹 중심의 사용자 대면 응용 프로그램과 관련하여 매우 적합합니다. 백엔드 통합이 작동하는 경우 Java EE 응용 프로그램 서버를 적어도 고려해야합니다. 마지막으로 Tomcat 용으로 개발 된 WAR을 JBoss로 마이그레이션하는 것은 1 일 운동이어야합니다.
둘째, 환경 내부의 사용량도 고려해야합니다. 조직에서 이미 1,000 개의 JBoss 인스턴스를 운영하는 경우 구체적인 요구 사항 (운영 비용 또는 기술 업그레이드와 같은 측면을 고려)에 관계없이 항상이를 수행 할 수 있습니다. 물론, 그 반대의 경우도 마찬가지입니다.
내 2 센트
답변
답변
Tomcat은 기본적으로 모든 JavaEE 6 통합이 누락되도록 Tomcat을 유지하는 것이기 때문에 TomEE를 확실히 볼 것입니다. 아주 좋은 타협입니다
답변
엄밀히 말하자면; Java EE 기능이 없으면 앱에 앱 서버가 거의 필요하지 않습니다. 😉
다른 사람들이 지적한 것처럼 JBoss에는 (거의) 전체 Java EE 스택이 있지만 Tomcat은 웹 컨테이너 전용입니다. JBoss는 웹 컨테이너로만 작동하도록 구성 할 수 있으며, 포함 된 Tomcat 웹 컨테이너를 둘러싼 얇은 래퍼 일뿐입니다. 그렇게하면 거의 가벼운 JBoss를 가질 수 있으며 실제로 Tomcat 주위의 얇은 “래퍼”입니다. 그것은 거의 가벼운 것입니다.
JBoss가 제공하는 추가 기능이 필요하지 않으면 가장 편한 것을 찾으십시오. 가장 쉽게 구성하고 유지 관리하는 것은 무엇입니까?
답변
또한 일부 서버의 경우 지속성 컨텍스트에 주석을 달기 만하면되지만 일부 서버에서는 주입을 수동으로 수행해야합니다.