[spring boot] undertow

general java 2015. 10. 30. 18:36

undertow를 spring boot에서 쓰려면 다음과 같이 사용할 수 있다.


1. maven (pom.xml)

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>



2. gradle (


dependencies {
compile("org.springframework.boot:spring-boot-starter-web") {
exclude group: "org.springframework.boot", module: "spring-boot-starter-tomcat"
}
compile ("org.springframework.boot:spring-boot-starter-undertow") {
exclude group: "io.undertow", module: "undertow-websockets-jsr"
} .. }



spring boot에서 undertow를 실행하면 tomcat에 비해 1/2정도로 빨리 실행된다. 그 이유는 undertow는 netty 기반이다. 최신 undertow는 netty 4.1을 기반으로 하고 있다. JBOSS에서 밀고 있는 웹 프레임워크이다. 쓰기 편하게 잘 감싸놨다. 



참조 : http://blog.arungupta.me/undertow-benchmarks-wildfly/


사실 undertow가 netty 를 기반으로 되어 있기 때문에 거의 성능이 비슷하다. 그동안 웹 컨테이너가 tomcat, jetty를 쓰고 있었는데, 상용 서비스로 undertow로 써봐도 안정적이고 괜찮은 것 같다. 



* 참고

https://github.com/undertow-io/undertow

http://undertow.io/


Posted by '김용환'
,