JBoss vs Tomcat 다시 [닫힘]


138

이것은 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를 사용합니다.


1
JBoss는 Tomcat과 통합되지 않습니까?
Navi

4
@Navi : 실제로는 아닙니다. 톰캣 코드베이스의 포크 버전이 포함되어 있지만 약간 다릅니다.
skaffman

1
j2ee 기능이없는 간단한 웹 앱은 호환되는 서블릿 컨테이너에 쉽게 배포해야합니다. 이것을 감안할 때 어떤 것을 먼저 사용하는지는 중요하지 않습니다. 가장 간단한 배포부터 시작합니다 (Tomcat과 Jetty는 과거에 저에게 모두 도움이되었습니다).
Joel

3
참고로, 2011 년 말 Tomcat 은이 오래된 질문에 대답하기 위해 TomEE 로 JavaEE 6 인증을 받았습니다 .
David Blevins

1
약 150K 뷰, 125 개의 업 보트 및 0 개의 다운 보트가 포함 된 닫힌 큐? 나는 이것이 규칙이라는 것을 알고 있지만 그러한 규칙은 조금 변경되어야한다고 말해야합니다.
Muhammed Refaat

답변:


132

먼저 사실도 나아 지지 않습니다 . 이미 언급했듯이 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 서버)는 다음과 같은 내장 지원을 제공하므로 올바른 선택 일 수 있습니다.

  1. 비동기식 통합을위한 JMS 메시징
  2. 웹 서비스 엔진 (JAX-WS 및 / 또는 JAX-RS)
  3. JMX 및 스크립트 관리 인터페이스와 같은 관리 기능
  4. 고급 보안 (예 : 타사 디렉토리와의 즉각적인 통합)
  5. "전용"WAR 파일 지원 대신 EAR 파일
  6. 기억할 수없는 다른 모든 "훌륭한"Java EE 기능 :-)

내 생각에 Tomcat은 웹 중심의 사용자 대면 응용 프로그램과 관련하여 매우 적합합니다. 백엔드 통합이 작동하는 경우 Java EE 응용 프로그램 서버를 적어도 고려해야합니다. 마지막으로 Tomcat 용으로 개발 된 WAR을 JBoss로 마이그레이션하는 것은 1 일 운동이어야합니다.

둘째, 환경 내부의 사용량도 고려해야합니다. 조직에서 이미 1,000 개의 JBoss 인스턴스를 운영하는 경우 구체적인 요구 사항 (운영 비용 또는 기술 업그레이드와 같은 측면을 고려)에 관계없이 항상이를 수행 할 수 있습니다. 물론, 그 반대의 경우도 마찬가지입니다.

내 2 센트


13

TOMEE 살펴보기

완전한 Java EE 앱을 빌드하는 데 필요한 모든 기능이 있습니다.


7

Tomcat은 기본적으로 모든 JavaEE 6 통합이 누락되도록 Tomcat을 유지하는 것이기 때문에 TomEE를 확실히 볼 것입니다. 아주 좋은 타협입니다


6

엄밀히 말하자면; Java EE 기능이 없으면 앱에 앱 서버가 거의 필요하지 않습니다. ;-)

다른 사람들이 지적한 것처럼 JBoss에는 (거의) 전체 Java EE 스택이 있지만 Tomcat은 웹 컨테이너 전용입니다. JBoss는 웹 컨테이너로만 작동하도록 구성 할 수 있으며, 포함 된 Tomcat 웹 컨테이너를 둘러싼 얇은 래퍼 일뿐입니다. 그렇게하면 거의 가벼운 JBoss를 가질 수 있으며 실제로 Tomcat 주위의 얇은 "래퍼"입니다. 그것은 거의 가벼운 것입니다.

JBoss가 제공하는 추가 기능이 필요하지 않으면 가장 편한 것을 찾으십시오. 가장 쉽게 구성하고 유지 관리하는 것은 무엇입니까?


1
웹 서비스와 jmx를 tomcat과 함께 사용하는 것이 얼마나 어려운지, 좋은 참고 자료 / 링크를 제공해 주시겠습니까?
Ashish

2

또한 일부 서버의 경우 지속성 컨텍스트에 주석을 달기 만하면되지만 일부 서버에서는 주입을 수동으로 수행해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.