• Link to Facebook
  • Link to LinkedIn
  • Link to X
  • Link to Youtube
  • 로그인
  • 회원가입
  •  한글 한글 한글 ko
  • English English 영어 en
OPENMARU APM
  • 오픈마루
    • 회사소개
    • 연혁
    • 오픈마루 CI
  • 제품
    • OPENMARU Cloud APM
      • Application 모니터링
      • Openshift & Kubernetes 모니터링
      • WEB/WAS 모니터링
      • URL 모니터링
      • Cubrid 모니터링
    • OPENMARU Cluster
    • OPENMARU Dashboard
  • 오픈소스
    • 쿠버네티스
    • 아파치 톰캣
    • CentOS
  • 레드햇
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat JBoss EAP
  • 가격 안내
  • 조달물품
    • G2B 딜 등록
    • 조달물품 OPENMARU APM
    • 조달물품 OPENMARU Cluster
    • 혁신장터
    • 찾아가는 클라우드 네이티브 세미나
  • 레퍼런스
  • 고객지원
  • 문서
  • 블로그
  • Click to open the search input field Click to open the search input field Search
  • Menu Menu

JBoss EAP 7 웹컨테이너 Undertow – 핵심 이해와 활용 방법

JBoss EAP 7의 웹컨테이너 Undertow를 완전히 이해하세요. 핵심 개념과 활용 방법을 효과적으로 파악하여 애플리케이션 성능을 최적화하세요.

JBoss EAP 7 웹컨테이너 Undertow - 핵심 이해와 활용 방법

JBossEAP7에 새롭게 도입된 Undertow는 무엇일까요?


JBossEAP7에 새롭게 도입된 Undertow는 자바(Java) 언어로 작성된 웹서버(WEB Server)입니다. 이미 많은 웹서버(WEB Server)가 있는데 또 다른 웹서버(WEB Server)를 개발하게 된 이유는 무엇일까요?

그것은 웹의 발전에 따라 웹서버(WEB Server)에 새로운 기능들이 요구되기 때문입니다.

Undertow는 웹서버(WEB Server)에 대한 새로운 요구사항과 유즈케이스들을 수용할 수 있도록 유연하고 효율적으로 설계하였습니다.

Undertow는 가볍기 때문에 임베디드가 가능하고 웹 애플리케이션 서버(WAS: WEB Application Server)에 적합합니다.

뛰어난 성능 뿐만 아니라 다양한 엔터프라이즈 자바(Java) 기술들을 제공합니다.

혁신적인 새로운 API뿐만 아니라 기존의 표준 API도 함께 제공합니다. 대규모 동적 웹 애플리케이션(WEB Application)을 실행할 수 있고, 또한 기본적인 웹서버(WEB Server)를 대체할 수 있을 만큼 가볍습니다.

특히 클라우드(Cloud)와 컨테이너(Container) 환경 그리고 마이크로서비스 아키텍처(Microservice Architecture)에 필요한 웹서버(WEB Server)와 웹 애플리케이션 서버(WAS: WEB Application Server)로 활용될 수 있도록 개발하였습니다.

Undertow는 아파치 라이선스(Apache License) Version 2.0을 따른 오픈소스(Opensource)입니다.

Undertow는 무엇인가요?


JBossEAP7 또는 Wildfly에서는 JBossEAP6 (JBossAS7) 이전 버전에서 사용하던 톰캣(Tomcat) 기반의 JBoss WEB 대신 Undertow를 사용합니다. Undertow는 웹서버(WEB Server)와 서블릿 컨테이너 기능을 제공합니다.

Java Servlet 3.1 표준과 WEB Socket을 구현하고 HTTP Upgrade를 지원합니다.

또한 서블릿 배포 환경에서 고성능 Non-Blocking 핸들러를 사용할 수 있습니다.

Undertow vs JBoss 비교자료

Undertow의 I/O 부분은 JBoss 프로젝트 중 하나인 XNIO를 이용하여 처리합니다.

Undertow는 Java로 작성된 유연하면서 고성능의 웹서버이며 NIO 기반의 Blocking/Non-Blocking API를 제공합니다.

Undertow는 컴퍼지션 아키텍처를 제공하여 작은 단위의 용도를 갖는 핸들러를 연결하여 웹서버를 구축할 수 있습니다.

컴포지션 아키텍처는 Full Java Enterprise Edition Servlet 3.1 컨테이너에서 부터 Low Level의 Non-Blocking 핸들러 또는 그 중간 수준의 기능을 선택을 할 수 있는 유연성을 제공해 준다.

Undertow는 쉽게 사용할 수 있는 높은 수준의 Builder API를 통해 완전히 임베딩 할 수 있도록 설계되어 있다. Undertow의 라이프 사이클은 임베딩 애플리케이션에서 완벽하게 제어 할 수 있다.

Undertow 특징은?


구분 내용
Lightweight
  • Undertow는 Core 라이브러리가 1.3MB 정도로 매우 작으며, 런타임에서 가볍게 동작합니다.
  • 단순한 임베디드 웹서버일 경우에는 10MB 이하의 힙 사이에서도 동작합니다.
HTTP 업그레이드 지원
  • Undertow를 사용하면 HTTP Upgrade를 사용하여 HTTP 상에서 동작하는 다양한 프로토콜을 다중화합니다.
    • EJB와 JMS등 자체 프로토콜을 사용하는 서비스들을 HTTP를 통해 연결하는 리슨 포트수를 줄였습니다.
    • 이를 통해 클라우드 환경에서 사용되는 포트의 수를 줄여 동일한 시스템에서 더 많은 서버를 실행할 수 있습니다.
    • VM이나 컨테이너 환경에서 네트워크 포트 관리가 어려울 때 매우 유용합니다.
웹소켓 지원
  • Undertow는 JSR-356을 포함한 웹소켓을 완벽하게 지원한다.
Servlet 3.1 지원
  • Undertow는 임베디드 Servlet을 포함한 Servlet 3.1을 지원한다. 이것은 Servlet 과 Native Undertow Non-Blocking 핸들러를 결합하여 배포할 수 있게 한다.
손쉬운 임베딩
  • 작은 코드로도 애플리케이션에서 Undertow를 포함시킬 수 있으며, 스탠드얼론으로 실행할 수 있다.
유연
  • Undertow 서버는 핸들러 체인을 통해 설정할 수 있다. 이것은 필요한 기능을 추가하고 제거하는데 있어서 사용하지 않은 것들에 대해서 신경 쓸 필요가 없게 해준다.

Show me the CODE


이 예제는 Async IO를 사용하는 간단한 Hello World 서버입니다. 예제를 실행하기 위해 필요한 라이브러리는 Undertow-Core 뿐입니다.

〈dependency〉
     〈groupid〉io.undertow〈/groupid〉 
     〈artifactid〉undertow-core〈/artifactid〉 
     〈version〉1.0.0.Beta25〈/version〉
〈/dependency〉

Git으로 부터 Hello Server 다운로드 하기.

[admin@t510 gits]$ git clone https://github.com/emag/undertow-practice.git

Git 에서 받은 소스 중 “HelloWorldServer.java” 파일의 내용은 다음과 같다.

public class HelloWorldServer {
     public static void main(final String[] args) {
          Undertow server = Undertow.builder()
               .addHttpListener(8080, "localhost")
               .setHandler(new HttpHandler() {
                    @Override
                    public void handleRequest(final HttpServerExchange exchange) throws Exception {
                         exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");
                         exchange.getResponseSender().send("Hello World");
                    }
               }).build();
          server.start();
}

Hello Server Maven 빌드하기

$ mvn clean compile exec:java -Dexec.mainClass=org.emamotor.undertow.practice.HelloWorldServer

Red Hat JBoss EAP 소개 페이지

바로가기

References & Related Links


  • Undertow 공식 프로젝트 사이트 – http://undertow.io/
  • JBoss WEB 공식 프로젝트 사이트 – http://jbossweb.jboss.org/
  • Undertow Practice – https://github.com/emag/undertow-practice
  • XNIO 공식 프로젝트 사이트 – http://xnio.jboss.org/
  • Configuring Undertow Filters on Wildfly – https://www.mastertheboss.com/web/jboss-web-server/configuring-undertow-filters-on-wildfly/
거침없이 배우는 JBoss – 10점
전준식 엮음/지&선(지앤선)
안전한 서비스 통신을 위한 필수 요소, mTLS의 이해와 필요성

안전한 서비스 통신을 위한 필수 요소, mTLS의 이해와 필요성

2025-03-20/in Tech Talk/by 오픈마루 마케팅0
Read more
https://i0.wp.com/www.openmaru.io/wp-content/uploads/2025/03/250317_mtls_title.webp?fit=380%2C302&ssl=1 302 380 오픈마루 마케팅0 https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png 오픈마루 마케팅02025-03-20 10:44:032025-03-20 10:44:03안전한 서비스 통신을 위한 필수 요소, mTLS의 이해와 필요성

레드햇 Container Day 세미나 – 컨테이너와 AI 솔루션 소개

2025-02-13/in Red Hat, Seminar, Tech Talk/by 오픈마루 마케팅3
Read more
https://i0.wp.com/www.openmaru.io/wp-content/uploads/2025/02/%EB%A0%88%EB%93%9C%ED%97%B7-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EC%84%B8%EB%AF%B8%EB%82%98_thumbnail.webp?fit=381%2C303&ssl=1 303 381 오픈마루 마케팅3 https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png 오픈마루 마케팅32025-02-13 13:06:242025-02-17 15:14:50레드햇 Container Day 세미나 – 컨테이너와 AI 솔루션 소개
가상화도 클라우드네이티브 thum

클라우드 네이티브 가상화 – 가상화도 클라우드 네이티브 시대

2024-11-15/in Cloud, Tech Talk/by 오픈마루 마케팅3
Read more
https://i0.wp.com/www.openmaru.io/wp-content/uploads/2024/11/%EA%B0%80%EC%83%81%ED%99%94%EB%8F%84-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C%EB%84%A4%EC%9D%B4%ED%8B%B0%EB%B8%8C-thum.webp?fit=381%2C303&ssl=1 303 381 오픈마루 마케팅3 https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png 오픈마루 마케팅32024-11-15 12:45:462024-11-15 12:45:46클라우드 네이티브 가상화 – 가상화도 클라우드 네이티브 시대
Page 1 of 24123›»

Share this:

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on X (Opens in new window) X
  • Click to email a link to a friend (Opens in new window) Email
  • Click to print (Opens in new window) Print
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Telegram (Opens in new window) Telegram
  • Click to share on WhatsApp (Opens in new window) WhatsApp

Like this:

Like Loading...

Recent Posts

  • JBoss EAP 8.1 베타 | 엔터프라이즈 Java 애플리케이션 현대화 2025-05-12
  • ChatGPT 프롬프트 엔지니어링, 이렇게 시작하세요! 2025-05-08
  • 올해 1분기, 사람들이 가장 많이 본 OPENMARU 콘텐츠는? 2025-04-17
  • 보안 강화의 다음 단게, mTLS를 아시나요? 2025-04-03
  • 성공적인 MSA 구축을 위한 핵심 전략 대공개! 테크 엣지 세미나 안내 2025-03-21

Categories

  • APM
  • Cloud
  • Cloud Native Seminar
  • Cluster
  • gift
  • JBoss
  • Kubernetes
    • Container
  • Linux
  • Microservices Architecture
  • News
  • Newsletter
  • OPENMARU
    • Dashboard
  • OpenShift
  • Red Hat
  • Seminar
    • gift
  • Tech Talk
  • 발표자료
  • 분류되지 않음
  • 오픈나루 공지사항
  • 오픈소스

이메일로 블로그 구독하기

이 블로그를 구독하고 이메일로 새글의 알림을 받으려면 이메일 주소를 입력하세요

Tags

APM cloud Cloud Native Container Docker Hybrid Cloud jboss JBoss EAP Kubernetes Kubernetes 모니터링 linux MSA Native OPENMARU OPENMARU APM OpenShift Openshift Promotion PaaS PaaS 플랫폼 Red Hat redhat RHEL tomcat Virtualization WAS Wildfly 가상화 네이티브 도커 레드햇 리눅스 모니터링 브리핑 세미나 오픈마루 오픈마루 APM 오픈시프트 주간 진짜 클라우드 컨테이너 쿠버네티스 클라우드 클라우드 네이티브 클라우드네이티브 클라우드 네이티브 세미나

Search

Search Search

오픈마루

04778 서울시 성동구 뚝섬로1길 31 906 호
(성수동1가, 서울숲M타워)

Tel : 02-469-5426 | Fax : 02-469-7247
Email : sales@openmaru.io

  • OPENMARU CLOUD APM
    • Application 모니터링
    • Openshift & Kubernetes 모니터링
    • WEB/WAS 모니터링
    • URL 모니터링
    • Cubrid 모니터링
  • 가격안내
  • 고객 레퍼런스
  • 고객지원
    • 문서
    • 사용자가이드
    • 기술지원
  • 블로그
  • 이용약관
  • 개인정보처리방침
  • 서비스수준협약
  • 회사소개
Copyright © OPENMARU, Inc. All Rights Reserved. - powered by Enfold WordPress Theme
  • Link to Facebook
  • Link to LinkedIn
  • Link to X
  • Link to Youtube
Link to: JBoss Datagrid Queue 자료구조 구현 방법: Infinispan 설명 Link to: JBoss Datagrid Queue 자료구조 구현 방법: Infinispan 설명 JBoss Datagrid Queue 자료구조 구현 방법: Infinispan 설명JBoss Tips & Tricks : Red Hat JBoss Enterprise Application Platform Link to: JBoss EAP 6 – 거침없이 배우는 JBoss Link to: JBoss EAP 6 – 거침없이 배우는 JBoss 거침없이 배우는 JBoss - 오픈소스 미들웨어 JBoss EAP 6 & AS 7 이해하기JBoss EAP 6 – 거침없이 배우는 JBoss
Scroll to top Scroll to top Scroll to top
  • 한글
  • English
%d