• 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점
전준식 엮음/지&선(지앤선)
Prefork MPM

Apache httpd 비교 – Prefork MPM vs. Worker MPM

2014-02-17/카테고리: JBoss, OPENMARU/작성자: 오픈마루 마케팅0

Apache HTTPD 2.0 버전에 추가된 MPM 중 가장 많이 사용하는 Prefork MPM과 worker MPM의 차이점을 간단하게 설명합니다.

자세히 보기
https://i0.wp.com/www.openmaru.io/wp-content/uploads/2023/12/mpm_prefork1.png?fit=353%2C232&ssl=1 232 353 오픈마루 마케팅0 https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png 오픈마루 마케팅02014-02-17 21:49:362024-01-07 10:47:46Apache httpd 비교 – Prefork MPM vs. Worker MPM
Azul의 x86 용 Zing Elastic Java Runtime – 비교할 수 없는 극강의 자바 런타임

Azul의 x86 용 Zing Elastic Java Runtime – 비교할 수 없는 극강의 자바 런타임

2014-02-03/카테고리: JBoss, OPENMARU/작성자: 오픈마루 마케팅0

Azul 시스템은 대용량의 스케일업형 하드웨어에서 자바 애플리케이션을 운영할 수 있는 기술을 기반으로 하고 있다.
Azul이 제공하는 기술의 두 가지 핵심 구성요소는 리얼 타임에 특화된 자바 가비지 컬렉션과 오버 헤드가 거의 없는 진단/모니터링 도구 이다.

자세히 보기
https://i0.wp.com/www.openmaru.io/wp-content/uploads/2014/02/azul_zing.webp?fit=536%2C267&ssl=1 267 536 오픈마루 마케팅0 https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png 오픈마루 마케팅02014-02-03 09:00:222024-09-14 11:42:30Azul의 x86 용 Zing Elastic Java Runtime – 비교할 수 없는 극강의 자바 런타임
Page 24 of 24«‹222324

이 글 공유하기:

  • 페이스북에 공유하려면 클릭하세요. (새 창에서 열림) Facebook
  • 클릭하여 X에서 공유 (새 창에서 열림) X
  • 클릭하여 친구에게 이메일로 링크 보내기 (새 창에서 열림) 전자우편
  • 인쇄하기 (새 창에서 열림) 인쇄
  • Reddit으로 공유하기 (새 창에서 열림) 레딧
  • Pinterest에서 공유하려면 클릭하세요 (새 창에서 열림) Pinterest
  • Telegram에 공유하려면 클릭하세요. (새 창에서 열림) Telegram
  • WhatsApp에 공유하려면 클릭하세요. (새 창에서 열림) WhatsApp

이것이 좋아요:

좋아하기 가져오는 중...

Recent Posts

  • RHEL on WSL 출시! 윈도우에서도 Red Hat 환경을 쉽게 구축하세요 2025-06-05
  • [세미나] 복잡한 MSA, AI로 쉽게 해결할 수 있는 방법 공개! 2025-06-02
  • 윈도우 Subsystem에서 RHEL 사용하기 | RHEL WSL 가이드 2025-05-29
  • Java 앱 배포, 더 빠르고 간편하게 – JBoss EAP 8.1 베타 2025-05-22
  • JBoss EAP 8.1 베타 | 엔터프라이즈 Java 애플리케이션 현대화 2025-05-12

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
  • 발표자료
  • 분류되지 않음
  • 오픈나루 공지사항
  • 오픈소스

이메일로 블로그 구독하기

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

태그

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