나는 이것이 다소 의견을 기반으로하고 있다고 생각하지만 궁극적으로는 "의존한다".
예를 들어, Tomcat에서 처리 할 수있는로드는 얼마입니까? 그것은 달려있다. 모든 요청에 대해 정적 HTML 페이지를 보내는 경우 대답은 "많이"입니다. 매회 첫 번째 100,000 소수를 계산하려고한다면 아마도 그렇게 많지 않을 것입니다.
일반적으로 클러스터링/분산 사용을 위해 응용 프로그램을 설계하는 것이 가장 좋습니다. 세션에서 너무 많은 것을 기대하지 마십시오. 세션을 동기화 상태로 유지하는 것이 비용이 많이들 수 있습니다. 모든 방법을 진실하게 무국적자로 유지하기 위해 최선을 다하십시오. 소비자 (즉, 웹 사이트)가 각 호에 대해 좀 더 많은 정보를 전달해야만 클러스터링 된 기계들 중 어느 하나가 요청의 현재 상태를 알 수 있기 때문에 어려울 수 있습니다. 등등.
JMS, CDI 및 JPA와 같은 몇 가지 추가 Java EE 기능을 활용하려면 Tomcat에서 Glassfish로 이동 한 다음 Wildfly로 이동했습니다. TomEE를 사용할 수 있었지만이를 통일시킬 수 있었지만 통일 된 관리 UI를 갖춘 통합 환경은 좋은 이점이었습니다. 그래도 그렇게 할 필요는 없습니다. 원하는 부분 (예 : CDI 및 JPA)을 Tomcat에 쉽게 추가 할 수 있습니다.
성능을 위해 Tomcat에서 전체 EE 서버로 이동하지 않았 음을 유의하십시오. EE 스택의 더 큰 부분을 활용하고 싶었습니다. Wildfly에는 클러스터 관리를 좀 더 쉽게 해주는 몇 가지 관리 인터페이스가 있지만 문제없이 Tomcat을 계속 사용할 수있었습니다.
다시 말하지만, "의존적"입니다. Tomcat이 제공하는 것보다 더 많은 EE 스택을 필요로하지 않는다면 완전한 EE 서버가 과잉 공격을받을 수 있습니다. 클러스터 된 데이터베이스 위에 Apache HTTPD로드 밸런서 (또는 아마존 서버) 뒤에 Tomcat 서버 세트를 두는 것은 나쁘지 않습니다. 그게 너에게 충분하다면 나는 그걸 고수 할거야. Wildfly 등으로 뛰어 오르지 마십시오. 성능면에서 큰 변화는 없을 것입니다.
이 질문은 [programmers.stackexchange.com] (http://programmers.stackexchange.com/)에 속한 것으로 생각합니다. –