SpringBoot는 현재 가장 인기 있는 Java 웹 프레임워크라고 할 수 있습니다. 이를 통해 개발자는 무거운 XML 작업에서 벗어나 몇 분 안에 완전한 웹 서비스를 만들 수 있으므로 개발자의 작업 효율성이 크게 향상됩니다. 웹 프로젝트를 실행하려면 컨테이너 기술에 의존해야 하기 때문에 웹 컨테이너 기술은 웹 프로젝트의 필수 구성 요소입니다.
SpringBoot 프레임워크에서 우리가 가장 많이 사용하는 것은 Tomcat인데, 이는 SpringBoot의 기본 컨테이너 기술이자 내장된 Tomcat입니다.
Java 프로그래머는 웹 애플리케이션에 가장 일반적으로 사용되는 컨테이너 기술인 Tomcat 기술에 매우 익숙해야 합니다. 우리가 개발한 초기 프로젝트는 기본적으로 Tomcat에서 배포 및 실행되었습니다. 그렇다면 Tomcat 컨테이너 외에 SpringBoot에서 사용할 수 있는 다른 컨테이너 기술은 무엇일까요? 그렇죠 제목에 Undertow 컨테이너 기술이군요. SrpingBoot는 Undertow 기술을 완전히 계승했습니다. 아래 그림과 같이 Undertow의 종속성을 도입하기만 하면 됩니다.
구성 후 애플리케이션을 시작했는데 컨테이너가 Undertow로 교체된 것을 확인했습니다. 그렇다면 왜 Tomcat을 Undertow 기술로 교체해야 할까요?
Tomcat은 Apache 기반의 경량 Servlet 컨테이너로 Servlet과 JSP를 지원합니다. Tomcat은 Tomcat 관리 및 제어 플랫폼, 보안국 관리 및 Tomcat 밸브를 포함하여 웹 서버의 고유한 기능을 가지고 있습니다. Tomcat 자체에는 HTTP 서버가 포함되어 있으므로 별도의 웹 서버로 간주할 수도 있습니다. 그러나 Tomcat과 Apache HTTP 서버는 동일한 것이 아닙니다. Apache HTTP 서버는 C 언어로 구현된 HTTP 웹 서버입니다. Tomcat은 완전 무료이며 개발자들에게 사랑을 받고 있습니다.
Undertow는 Red Hat의 오픈소스 제품으로 전적으로 Java 언어로 개발되었으며 차단 IO와 비차단 IO를 지원하는 유연한 고성능 웹 서버입니다. Undertow는 Java 언어로 개발되었기 때문에 Java 프로젝트에 직접 내장하여 사용할 수 있습니다. 동시에 Undertow는 서블릿과 웹 소켓을 완벽하게 지원하며 동시성이 높은 상황에서 매우 잘 작동합니다.
동일한 시스템 구성에서 Tomcat과 Undertow를 스트레스 테스트했으며 얻은 테스트 결과는 다음과 같습니다. QPS 테스트 결과 비교: Tomcat
Undertow
메모리 사용량 비교:
Tomcat
Undertow
테스트를 통해 Tomcat이 높은 동시성 시스템에서 상대적으로 약한 것으로 나타났습니다. 동일한 시스템 구성에서 동일한 수의 요청을 시뮬레이션하는 경우 Undertow는 성능 및 메모리 사용량 측면에서 최적입니다. 그리고 Undertow의 새 버전은 기본적으로 지속적인 연결을 사용하므로 동시 처리량 기능이 더욱 향상됩니다. 따라서 동시성이 높은 비즈니스 시스템이라면 Undertow가 최선의 선택입니다.
위 내용은 프로젝트에서 SpringBoot가 Tomcat 컨테이너를 사용하는 것을 금지하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!