作者:阿迈达聊技术
https://www.toutiao.com/a6775476659416990212
前言
Spring Boot 中的 Tomcat 容器
Spring Boot 设置 Undertow
对于 Tomcat 技术,Java 程序员应该都非常熟悉,它是 Web 应用最常用的容器技术。我们最早的开发的项目基本都是部署在 Tomcat 下运行,那除了 Tomcat 容器,Spring Boot 中我们还可以使用什么容器技术呢?没错,就是题目中的 Undertow 容器技术。Srping Boot 已经完全继承了 Undertow 技术,我们只需要引入 Undertow 的依赖即可,如下图所示。
关注微信公众号:互联网架构师,在后台回复:8,可以获取互联网架构教程,都是干货。
配置好以后,我们启动应用程序,发现容器已经替换为 Undertow。
那么,我们为什么需要替换 Tomcat 为 Undertow 技术呢?
Tomcat 与 Undertow 的优劣对比
Tomcat 是 Apache 基金下的一个轻量级的 Servlet 容器,支持 Servlet 和 JSP。Tomcat 具有 Web 服务器特有的功能,包括 Tomcat 管理和控制平台、安全局管理和 Tomcat 阀等。Tomcat 本身包含了 HTTP 服务器,因此也可以视作单独的 Web 服务器。但是,Tomcat 和 Apache HTTP 服务器不是一个东西,Apache HTTP 服务器是用 C 语言实现的 HTTP Web 服务器。Tomcat 是完全免费的,深受开发者的喜爱。
Undertow 是 Red Hat 公司的开源产品,它完全采用 Java 语言开发,是一款灵活的高性能 Web 服务器,支持阻塞 IO 和非阻塞 IO。由于 Undertow 采用 Java 语言开发,可以直接嵌入到 Java 项目中使用。同时,Undertow 完全支持 Servlet 和 Web Socket,在高并发情况下表现非常出色。
我们在相同机器配置下压测 Tomcat 和 Undertow,得到的测试结果如下所示:
QPS测试结果对比:
Tomcat
Undertow
内存使用对比:
Tomcat
Undertow
最后
Sping Boot 中我们既可以使用 Tomcat 作为 HTTP 服务,也可以用 Undertow 来代替。Undertow 在高并发业务场景中,性能优于 Tomcat。所以,如果我们的系统是高并发请求,不妨使用一下 Undertow,你会发现你的系统性能会得到很大的提升。
猜你喜欢
1、GitHub 标星 3.2w!史上最全技术人员面试手册!FackBoo发起和总结
5、37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...