SlideShare a Scribd company logo
맛만 보자 Undertow
Jeff Lee
Who am i
초콜릿을 14년 동안 받아보지 못한 개발자… (ㅠ.ㅠ )
GRD ASKY (그래도 안생겨요)
http://blog.daum.net/dhlh0h34/107
먹통~ 먹통~ 왜~ 왜~
“1초에 30만명 접속"
중국 춘제 기차표 예매사이트 '먹통' 막은 알리바바
출처 : http://www.ajunews.com/view/20150120144132775
제주항공 홈페이지 '먹통'…특가 항공권 예매 전쟁 시작
출처 : http://www.hankyung.com/news/app/newsview.php?aid=201501206254g
코레일 예매 서비스 먹통…"원인 파악 중"
출처 : http://biz.newdaily.co.kr/news/article.html?no=10034418
한국시리즈 예매, 작년에 이어 올해도 먹통
출처 : http://m.mk.co.kr/sports/home/2014/1383520
저희 회사 서비스의 특징
서비스 접속의 80% 이상은 데이터베이스를 사
용하지 않는다.
우리 회사 서비스는 글로벌을 지향한다.
그런데 돈이 부족하다. (ㅠ.ㅠ )
파트너 서버
스마트 폰
데이터 베이스회사 서비스 서버
인터넷 트래픽의 폭발적 증가
PC 모바일 IoT
http://www.moneyone.co.kr/attachfile/images/000043/20130514151019435_N9HT2H6D.png
Nginx versus Apache
동시 접속자가 많아 질수록
ngnix가 apache보다 많은
요청을 처리한다.
동시 접속자가 많아져도
ngnix는 apache처럼 메모리
사용량이 많이 증가 하지 않
는다.
http://blog.webfaction.com/2008/12/a-little-holiday-present-10000-reqssec-with-nginx-2/
어떤 마법이 숨어 있을까요?
Apache
Ngnix
Socket Connection Thread
Socket Connection
Socket Connection
Thread
OS Kernel
or
Thread Pool
Socket Connection Thread
Web Framework Benchmarks (EC2)
https://www.techempower.com/benchmarks/#section=data-r9&hw=peak&test=plaintext
Undertow - 나도 물 좋아해요~
저류,
되돌아가는 물결,
역류
Undertow - 넌 누구니?
Undertow has a composition based architecture
that allows you to build a web server by
combining small single purpose handlers.
- Full Java EE servlet 3.1 container
- Low level non-blocking handler
http://undertow.io
왜~ Undertow를 쓸까?
겁니 가벼워요~
- core 라이브러리 1M
- 단순 웹 서버는 4MB 이하 힙 사이즈에서 동작
프로토콜 바꿔줘요~ (HTTP Upgrade)
- HTTP 1.1에서 다른 프로토콜로 변경 해줌.
- Upgrade: websocket
당근~ Web Socket 지원
- JSR-356 스펙을 포함한 웹 소켓을 완벽하게 지원
왜~ Undertow를 쓸까?
오~ Servlet 3.1 지원
- Java EE servlet 3.1 지원
어디 숨었니?
- 애플리케이션 안에 포함 가능
- 혼자 작동 가능
앗 너무 유연해~
- 미리 만들어진 핸들러를 필요한 만큼 가져다가 사용 가능
근본 있는 Undertow
XNIO
비동기 통신 라이브러리 (ex:Netty)
SSL 지원
http://xnio.jboss.org/
지원하는 프로토콜
HTTP
HTTPS
AJP(Apache JServ Protocol)
SPDY
HTTP2(Draft 15)
미리 만들어진 Handlers
Path
Virtual Host
Path Template
Date
Resource
Predicate
HTTP Continue
Websocket
Redirect
Trace
Header
IP Access Control
ACL
URL Decoding
Set Attribute
Rewrite
Graceful Shutdown
Proxy Peer Address
Show me the code
Method chaining 방식으로 개발
Handler 만들기
File Service
WebSocket
Reverse Proxy
Error Handling
Servlet Deployment
개발 관련 코드 사이트
Undertow Github
https://github.com/undertow-io/undertow
JBoss Wildfly Github (웹서버 확장)
https://github.
com/wildfly/wildfly/tree/master/undertow
훈훈한 마무으~리
서비스 요구 사항에 맞는 프레임워크를 선택하
세요.
- 프레임워크는 각자의 목적을 가지고 있습니다.
- 프레임워크의 특징을 잘 파악하여야 합니다.
- Undertow는 그 선택지 중 하나 입니다.

More Related Content

PDF
Netty 시작하기 (1)
PPTX
200.마이크로서비스에 적합한 오픈소스 WAS는 무엇?
PDF
WebSocket 기반 쌍방향 메시징
PPTX
Rb vs wp 로드타임 성능비교
PPTX
웹소켓 (WebSocket)
PPTX
Web Socket
PDF
이승재, 실시간 HTTP 양방향 통신, NDC2012
PDF
nodejs websocket & SOCKET.IO
Netty 시작하기 (1)
200.마이크로서비스에 적합한 오픈소스 WAS는 무엇?
WebSocket 기반 쌍방향 메시징
Rb vs wp 로드타임 성능비교
웹소켓 (WebSocket)
Web Socket
이승재, 실시간 HTTP 양방향 통신, NDC2012
nodejs websocket & SOCKET.IO

What's hot (20)

PDF
[111217 아꿈사연말모임] 웹소켓과온라인게임
PDF
JBoss EAP on Azure
PDF
20141229 dklee docker
PPTX
Network 초보자를 위한 Netty
KEY
Meteor 0.3.6 Preview
PPTX
실시간통신
PPTX
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
PPTX
Startup JavaScript 7 - Node.JS 기초
PPTX
[PHPFest 2013] PHP 성능 향상 방법
PPTX
Web socket
PDF
톰캣 #08-웹서버 연동
PDF
문돌이가 가르치는 서버사이드 PHP
PDF
[111015/아꿈사] HTML5를 여행하는 비(非) 웹 개발자를 위한 안내서 - 1부 웹소켓.
PDF
자바 네트워크 소녀 Netty 리뷰
PPTX
Leadweb Nodejs
PPTX
Valet 으로 windows php 개발 환경 구성하기
PDF
Nodejs를 이용한 개발
PDF
유연하게 확장할 수 있는 PHP 웹 개발 이야기
PDF
Node.js 첫걸음
PDF
tomcat jdbc mysql 프로그래밍
[111217 아꿈사연말모임] 웹소켓과온라인게임
JBoss EAP on Azure
20141229 dklee docker
Network 초보자를 위한 Netty
Meteor 0.3.6 Preview
실시간통신
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
Startup JavaScript 7 - Node.JS 기초
[PHPFest 2013] PHP 성능 향상 방법
Web socket
톰캣 #08-웹서버 연동
문돌이가 가르치는 서버사이드 PHP
[111015/아꿈사] HTML5를 여행하는 비(非) 웹 개발자를 위한 안내서 - 1부 웹소켓.
자바 네트워크 소녀 Netty 리뷰
Leadweb Nodejs
Valet 으로 windows php 개발 환경 구성하기
Nodejs를 이용한 개발
유연하게 확장할 수 있는 PHP 웹 개발 이야기
Node.js 첫걸음
tomcat jdbc mysql 프로그래밍
Ad

Similar to 맛만 보자 Undertow (20)

PDF
build a linux webhosting server
PDF
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
PDF
Twitter의 대규모 시스템 운용 기술 어느 고래의 배속에서
PDF
화성에서 온 개발자, 금성에서 온 기획자
PPTX
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
ODP
Django beginning
PDF
IT 서비스 개발 15년 _ IT service 15 years
PDF
Internship backend
PDF
JSP 프로그래밍 #01 웹 프로그래밍
PDF
서버학개론(백엔드 서버 개발자를 위한)
PDF
FCGI, C++로 Restful 서버 개발
PPTX
20170609 tech day_4th-nginx(lb)-이재훈
PDF
AWS로 불꺼온 나날들
PDF
서버인프라를지탱하는기술2_1-2
PPTX
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
PPTX
PDF
KGC 2013 DevSisters
PDF
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
PDF
XE 오픈 세미나(2014-02-22) - XE 서버 성능 개선
PDF
[오픈소스컨설팅]Tomcat6&7 How To
build a linux webhosting server
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
Twitter의 대규모 시스템 운용 기술 어느 고래의 배속에서
화성에서 온 개발자, 금성에서 온 기획자
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
Django beginning
IT 서비스 개발 15년 _ IT service 15 years
Internship backend
JSP 프로그래밍 #01 웹 프로그래밍
서버학개론(백엔드 서버 개발자를 위한)
FCGI, C++로 Restful 서버 개발
20170609 tech day_4th-nginx(lb)-이재훈
AWS로 불꺼온 나날들
서버인프라를지탱하는기술2_1-2
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
KGC 2013 DevSisters
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
XE 오픈 세미나(2014-02-22) - XE 서버 성능 개선
[오픈소스컨설팅]Tomcat6&7 How To
Ad

More from jbugkorea (19)

PDF
Hawkular overview
PDF
미들웨어 엔지니어의 클라우드 탐방기
PDF
기업, 통합, 마이크로서비스
PDF
개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링
PDF
JBUG Korea 소개
PDF
Micro Service Architecture 탐방기
PPTX
Jbug 발표 msa탐방기_공유자료
PPTX
Micro Service Architecture(MSA) 탐방기
PDF
INFINISPAN non-clustering Spring4 WEB/MOBILE APP 구축
PDF
테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트
PDF
맛만 보자 액터 모델이란
PDF
맛만 보자 Finagle이란
PDF
Undertow 맛보기
PDF
JBoss Community Introduction
PDF
JBoss AS 7 따라잡기
PDF
Wildfly 8.0에서 SOAP 웹 서비스 구현
PDF
Infinispan Data Grid Platform
PDF
Java 8 - A step closer to Parallelism
PDF
JBoss Community's Application Monitoring Platform
Hawkular overview
미들웨어 엔지니어의 클라우드 탐방기
기업, 통합, 마이크로서비스
개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링
JBUG Korea 소개
Micro Service Architecture 탐방기
Jbug 발표 msa탐방기_공유자료
Micro Service Architecture(MSA) 탐방기
INFINISPAN non-clustering Spring4 WEB/MOBILE APP 구축
테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트
맛만 보자 액터 모델이란
맛만 보자 Finagle이란
Undertow 맛보기
JBoss Community Introduction
JBoss AS 7 따라잡기
Wildfly 8.0에서 SOAP 웹 서비스 구현
Infinispan Data Grid Platform
Java 8 - A step closer to Parallelism
JBoss Community's Application Monitoring Platform

맛만 보자 Undertow

  • 2. Who am i 초콜릿을 14년 동안 받아보지 못한 개발자… (ㅠ.ㅠ ) GRD ASKY (그래도 안생겨요) http://blog.daum.net/dhlh0h34/107
  • 3. 먹통~ 먹통~ 왜~ 왜~ “1초에 30만명 접속" 중국 춘제 기차표 예매사이트 '먹통' 막은 알리바바 출처 : http://www.ajunews.com/view/20150120144132775 제주항공 홈페이지 '먹통'…특가 항공권 예매 전쟁 시작 출처 : http://www.hankyung.com/news/app/newsview.php?aid=201501206254g 코레일 예매 서비스 먹통…"원인 파악 중" 출처 : http://biz.newdaily.co.kr/news/article.html?no=10034418 한국시리즈 예매, 작년에 이어 올해도 먹통 출처 : http://m.mk.co.kr/sports/home/2014/1383520
  • 4. 저희 회사 서비스의 특징 서비스 접속의 80% 이상은 데이터베이스를 사 용하지 않는다. 우리 회사 서비스는 글로벌을 지향한다. 그런데 돈이 부족하다. (ㅠ.ㅠ ) 파트너 서버 스마트 폰 데이터 베이스회사 서비스 서버
  • 5. 인터넷 트래픽의 폭발적 증가 PC 모바일 IoT http://www.moneyone.co.kr/attachfile/images/000043/20130514151019435_N9HT2H6D.png
  • 6. Nginx versus Apache 동시 접속자가 많아 질수록 ngnix가 apache보다 많은 요청을 처리한다. 동시 접속자가 많아져도 ngnix는 apache처럼 메모리 사용량이 많이 증가 하지 않 는다. http://blog.webfaction.com/2008/12/a-little-holiday-present-10000-reqssec-with-nginx-2/
  • 7. 어떤 마법이 숨어 있을까요? Apache Ngnix Socket Connection Thread Socket Connection Socket Connection Thread OS Kernel or Thread Pool Socket Connection Thread
  • 8. Web Framework Benchmarks (EC2) https://www.techempower.com/benchmarks/#section=data-r9&hw=peak&test=plaintext
  • 9. Undertow - 나도 물 좋아해요~ 저류, 되돌아가는 물결, 역류
  • 10. Undertow - 넌 누구니? Undertow has a composition based architecture that allows you to build a web server by combining small single purpose handlers. - Full Java EE servlet 3.1 container - Low level non-blocking handler http://undertow.io
  • 11. 왜~ Undertow를 쓸까? 겁니 가벼워요~ - core 라이브러리 1M - 단순 웹 서버는 4MB 이하 힙 사이즈에서 동작 프로토콜 바꿔줘요~ (HTTP Upgrade) - HTTP 1.1에서 다른 프로토콜로 변경 해줌. - Upgrade: websocket 당근~ Web Socket 지원 - JSR-356 스펙을 포함한 웹 소켓을 완벽하게 지원
  • 12. 왜~ Undertow를 쓸까? 오~ Servlet 3.1 지원 - Java EE servlet 3.1 지원 어디 숨었니? - 애플리케이션 안에 포함 가능 - 혼자 작동 가능 앗 너무 유연해~ - 미리 만들어진 핸들러를 필요한 만큼 가져다가 사용 가능
  • 13. 근본 있는 Undertow XNIO 비동기 통신 라이브러리 (ex:Netty) SSL 지원 http://xnio.jboss.org/
  • 15. 미리 만들어진 Handlers Path Virtual Host Path Template Date Resource Predicate HTTP Continue Websocket Redirect Trace Header IP Access Control ACL URL Decoding Set Attribute Rewrite Graceful Shutdown Proxy Peer Address
  • 16. Show me the code Method chaining 방식으로 개발
  • 23. 개발 관련 코드 사이트 Undertow Github https://github.com/undertow-io/undertow JBoss Wildfly Github (웹서버 확장) https://github. com/wildfly/wildfly/tree/master/undertow
  • 24. 훈훈한 마무으~리 서비스 요구 사항에 맞는 프레임워크를 선택하 세요. - 프레임워크는 각자의 목적을 가지고 있습니다. - 프레임워크의 특징을 잘 파악하여야 합니다. - Undertow는 그 선택지 중 하나 입니다.