
Undertow是由JBoss(现为Red Hat)开发的一款轻量级、高性能的Web服务器。它是WildFly应用服务器的默认Web容器,专注于高并发和低延迟的场景。Undertow基于NIO(非阻塞I/O)构建,支持HTTP/1.x、HTTP/2和WebSocket协议。
Tomcat凭借其稳定性、易用性和社区支持成为Springboot默认的容器。虽然Tomcat表现足够优秀,但是Undertow也有其可圈可点的地方。
- 高并发支持:
Undertow基于NIO构建,能够高效处理大量并发请求,适合高负载场景。 - 低延迟:由于其非阻塞的设计,
Undertow在低延迟场景中表现优异。 - 轻量级:
Undertow的核心代码非常精简,启动速度快,资源占用低。
在资源有限的情况下,尤其是内存和CPU资源紧张的情况下,Undertow是更好的选择。
上面介绍了Undertow的优点,那么我们如何在Springboot项目中使用Undertow作为默认容器呢。
先来看一下,默认Tomcat容器,启动成功后控制台输出信息

为了使用Undertow容器,我们需要修改项目的pom.xml文件,排除掉Tomcat。
<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>
然后添加Undertow的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>然后重启项目,查看控制台输出

评论 (0)