숙취

숙취


Spring Boot는 기본적으로 내장 서버를 사용합니다. 수컷 고양이사용

임베디드 서버를 사용하는 이유는 무엇입니까?

  • 응용 프로그램 개발 및 배포를 용이하게 합니다.
  1. 손쉬운 개발 및 테스트
    • 통합 서버를 사용하면 별도의 WAS를 설치하거나 구성할 필요가 없습니다.
    • 따라서 응용 프로그램을 개발하고 테스트하는 것이 훨씬 쉽습니다.
    • 애플리케이션 개발 중에 코드를 변경하면 서버를 다시 시작하여 변경 사항을 반영할 수 있습니다.
  2. 단일 패키지 배포
    • 내장형 서버 사용 시 애플리케이션과 서버가 하나의 패키지로 번들되어 애플리케이션 배포가 용이합니다.
    • 서버를 설치하거나 구성하는 데 필요한 복잡성을 줄이고 배포 프로세스를 단순화합니다.
  3. 높은 휴대성
    • 임베디드 서버를 사용하면 응용 프로그램을 다른 환경으로 쉽게 이식할 수 있습니다.
    • 실행 환경에 따라 통합 서버를 변경하거나 설정을 변경하여 응용 프로그램을 배포할 수 있습니다.
  4. 성능과 안정성
    • 애플리케이션 실행에 필요한 서버 프로세스는 하나의 프로세스로 관리됩니다.
    • 이렇게 하면 애플리케이션의 성능과 안정성이 향상됩니다.
    • 전용 서버에서 실행되는 애플리케이션과 달리 임베디드 서버는 애플리케이션과 서버가 동일한 JVM에서 실행되기 때문에 네트워크 오버헤드를 줄이고 성능을 향상시킵니다.

내장 서버를 통해 애플리케이션 개발 및 배포가 더 쉬워집니다.

더 높은 휴대성과 성능/안정성을 제공합니다.

아파치란?

Apache는 Apache Software Foundation에서 관리하는 HTTP 웹 서버입니다.

  • HTTP 서버로 다양한 추가 기능 제공
  • 구축하기 쉬운
  • 포트 80 사용

⇒ 클라이언트가 요청한 HTTP 요청을 처리합니다. 웹 서버

  • 정적 유형데이터(HTML, CSS, 이미지 등)만 처리합니다.

숙취

Tomcat은 Apache Software Foundation의 웹 애플리케이션 서버입니다(였다)

  • 가장 많이 사용되는 WAS
  • 자바 서블릿 실행
  • JSP 코드가 포함된 웹 페이지를 만듭니다.
  • 포트 8080 사용

아파치와 톰캣

Tomcat은 Apache 기능(웹 서버 기능)을 지원합니다.

그러나 Tomcat의 웹 서버 기능은 Apache의 웹 서버보다 느립니다.

  • WAS가 웹상의 모든 정적/동적 데이터를 처리할 때 사용자 요청에 대한 응답이 느려집니다.

또한 Apache의 모든 기능을 제공하지는 않습니다.

  • 특수한 상황에서는 Apache Tomcat만으로는 구현하기 어렵습니다.

일반적으로 Apache는 클라이언트의 요청을 받아 Tomcat과 같은 백엔드 서버로 전달하는 프록시 서버로 사용됩니다.

⇒ Apache는 정적 파일을 처리합니다.

⇒ 동적 콘텐츠를 생성하기 위해 Tomcat과 같은 백엔드 서버로 요청을 보내 처리합니다.

⇒ Apache와 Tomcat이 각자의 역할을 수행하면서 웹 서버 성능을 향상시킬 수 있습니다.

Tomcat이 Spring Boot의 기본 임베디드 서버인 이유는 무엇입니까?

기본 설정이 편리합니다.

  • 개발자는 별도의 서버를 설치하거나 구성할 필요가 없습니다.

안정적이고 다재다능합니다.

  • Tomcat은 이미 많은 사용자가 사용하고 있기 때문에 안정성을 확인했습니다.
  • 또한 Tomcat은 지속적으로 업데이트되므로 보안 문제 및 버그를 빠르게 수정할 수 있습니다.

호환성

  • Tomcat은 Java Servlet API 및 JSP API와 뛰어난 호환성을 가지고 있습니다.

간편한 설정

  • 비교적 쉬운 설정

괜찮은 성능

  • Tomcat은 많은 수의 동시 요청을 처리할 수 있기 때문에 대규모 웹 애플리케이션에 적합합니다.
  • Spring Boot는 Tomcat의 NIO 기능을 활용하여 우수한 성능을 위해 비동기 I/O를 처리합니다.

스프링 부츠 기본 설정은 편리하고 신뢰할 수 있는 범용 서버입니다. 수컷 고양이임베디드 서버로.

다양한 내장 서버


제티

Jetty는 Eclipse Foundation에서 개발한 Java 웹 애플리케이션 서버입니다.

특성

  • Jetty는 시작 시간이 빠르고 메모리 사용량이 적습니다.
  • 서블릿 컨테이너와 웹 서버를 함께 제공하여 비동기 요청 처리를 지원하므로 대규모 트래픽 처리에 적합합니다.

소위

Undertow는 Red Hat에서 개발한 경량 Java 웹 애플리케이션 서버입니다.

특성

  • 처리량이 높고 대기 시간이 짧습니다.
  • 비동기 요청 처리 지원
  • WebSocket 및 HTTP/2 프로토콜을 지원하며 뛰어난 성능과 확장성을 제공합니다.

네티

Netty는 JBoss에서 개발한 네트워크 프레임워크입니다.

특성

  • 다양한 프로토콜을 지원합니다.
    • TCP 및 UDP를 기반으로 비동기 네트워크 애플리케이션을 개발합니다.
    • TCP, UDP, HTTP, 웹 소켓

  • 이벤트 기반
    • Netty는 이벤트를 기반으로 구성되어 네트워크 I/O를 처리할 때 이벤트를 처리하는 핸들러를 구현할 수 있습니다.

  • NIO API를 사용하여 네트워크 I/O를 처리합니다.
    • 비동기 I/O를 사용하여 네트워크 I/O 처리에 필요한 시간 최소화

  • 대규모 트래픽 처리 및 고성능 네트워크 애플리케이션 개발에 적합합니다.
    • 고성능 제공

많은 사람들이 대용량 트래픽을 보다 효율적으로 처리할 수 있는 서버를 개발하기 위해 노력하고 있습니다.

Netty + Spring Webflux에서 Tomcat + Spring MVC 환경으로의 전환을 고려하십시오.

참조

https://byul91oh.65

https://velog.io/@newtownboy/Spring-tomcat-apache

https://inpa.entry/TOMCAT- – 설치 – 설정 – 청소