springboot默认支持的容器有tomcat、jetty、undertow
在我们项目中替换掉了tomcat使用undertow容器,那么undertow容器是什么,为什么比tomcat更有优势
undertow简介
Undertow 是红帽公司开发的一款基于 NIO 的高性能 Web 嵌入式服务器
Undertow 被设计成为完全可嵌入式,所以也叫做可嵌入式容器,可以很好的嵌入在SpringBoot中
性能比对
使用jmeter进行压测比较
tomcat压测结果
将tomcat容器换成jetty容器进行测试
将jetty容器修改为undertow
从吞吐量看undertow要强于前两个
二、项目中使用undertow
1.引入依赖
在官网上可以看到undertow主要有两个版本
2.1
The current stable Servlet 4.0 branch, requires JDK8 or above
1.4
The current stable Servlet 3.1 branch, supports JDK7
可以根据自己的servlet和jdk版本进行选择,我们这里使用2.1版本
<dependency>
<groupId>io.undertow</groupId>
<artifactId>undertow-core</artifactId>
<version>2.1.0.Final</version>
</dependency>
<dependency>
<groupId>io.undertow</groupId>
<artifactId>undertow-servlet</artifactId>
<version>2.1.0.Final</version>
</dependency>
<dependency>
<groupId>io.undertow</groupId>
<artifactId>undertow-websockets-jsr</artifactId>
<version>2.1.0.Final</version>
</dependency>