在springboot框架中,我们经常使用、使用最多的是tomcat容器,这是springboot默认的容器技术,而且是内嵌式的tomcat。同时,springboot也支持undertow容器,而且可以方便的用undertow替换tomat,undertow的性能和内存使用方面都优于tomcat。
Undertow是Red Hat公司的开源产品, 它完全采用Java语言开发,是一款灵活的高性能Web服务器,支持阻塞IO和非阻塞IO。由于Undertow采用Java语言开发,可以直接嵌入到Java项目中使用。同时, Undertow完全支持Servlet和Web Socket,在高并发情况下表现非常出色。
实例
1、pom文件
<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、启动
默认tomcat
undertow
3、测试
springboot中可以使用默认的tomcat作为http服务,也可以用undertow作为http服务。在高并发业务场景中,undertow的性能优于tomcat,所以在高并发请求场景,不妨使用undertow,会发现系统性能会得到提升。
后续可以对tomcat和undertow采用并发请求工具压测一下,看看真实的运行数据。