ݺߣ

ݺߣShare 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

맛만 보자 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는 그 선택지 중 하나 입니다.