Redian新闻
>
为什么建议你替换掉 SpringBoot 框架中的 Tomcat ?

为什么建议你替换掉 SpringBoot 框架中的 Tomcat ?

公众号新闻

👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入芋道快速开发平台知识星球。下面是星球提供的部分资料: 

👉这是一个或许对你有用的开源项目

国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。

功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号、CRM 等等功能:

  • Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro
  • Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud
  • 视频教程:https://doc.iocoder.cn
【国内首批】支持 JDK 21 + SpringBoot 3.2.2、JDK 8 + Spring Boot 2.7.18 双版本 

来源:toutiao.com/a677
5476659416990212


前言

在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。

同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内存使用方面都优于Tomcat,那我们如何使用Undertow技术呢?本文将为大家细细讲解。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 视频教程:https://doc.iocoder.cn/video/

SpringBoot中的Tomcat容器

SpringBoot可以说是目前最火的Java Web框架了。它将开发者从繁重的xml解救了出来,让开发者在几分钟内就可以创建一个完整的Web服务,极大的提高了开发者的工作效率。Web容器技术是Web项目必不可少的组成部分,因为任Web项目都要借助容器技术来运行起来。

在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud
  • 视频教程:https://doc.iocoder.cn/video/

SpringBoot设置Undertow

对于Tomcat技术,Java程序员应该都非常熟悉,它是Web应用最常用的容器技术。我们最早的开发的项目基本都是部署在Tomcat下运行,那除了Tomcat容器,SpringBoot中我们还可以使用什么容器技术呢?

没错,就是题目中的Undertow容器技术。SrpingBoot已经完全继承了Undertow技术,我们只需要引入Undertow的依赖即可,如下图所示。

配置好以后,我们启动应用程序,发现容器已经替换为Undertow。

那我们为什么需要替换Tomcat为Undertow技术呢?

Tomcat与Undertow的优劣对比

Tomcat是Apache基金下的一个轻量级的Servlet容器,支持Servlet和JSP。Tomcat具有Web服务器特有的功能,包括 Tomcat管理和控制平台、安全局管理和Tomcat阀等。Tomcat本身包含了HTTP服务器,因此也可以视作单独的Web服务器。

但是,Tomcat和ApacheHTTP服务器不是一个东西,ApacheHTTP服务器是用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

通过测试发现,在高并发系统中,Tomcat相对来说比较弱。在相同的机器配置下,模拟相等的请求数,Undertow在性能和内存使用方面都是最优的。并且Undertow新版本默认使用持久连接,这将会进一步提高它的并发吞吐能力。所以,如果是高并发的业务系统,Undertow是最佳选择。

最后

SpingBoot中我们既可以使用Tomcat作为Http服务,也可以用Undertow来代替。Undertow在高并发业务场景中,性能优于Tomcat。所以,如果我们的系统是高并发请求,不妨使用一下Undertow,你会发现你的系统性能会得到很大的提升。


欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,长按”或“扫描”下方二维码噢

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*)

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
消息称英伟达 Blackwell“B100”GPU 将配 192GB HBM3e 显存,B200 配 288GB 显存CVPR 2024 | 文本一键转3D数字人骨骼动画,阿尔伯塔大学提出MoMask框架如何通过内网穿透实现外部网络对 SpringBoot 接口的 HTTP 监听和调试?Spring Boot 3.2 和 Spring Framework 6.1添加对 Java 21、虚拟线程和 CRaC 的支持4、长篇家庭伦理小说《嫁接 下》第一章 情敌过招(4)为什么建议你近期不要随便网购衣服?无关收入多少!湖南大学聂舟团队Angew |工程化Anti-CRISPR蛋白创建CRISPR-Cas蛋白开关用于激活型基因编辑和病毒蛋白酶检测泰国警察绑架中国游客,勒索近50万!仍有人在逃......China Looks forward to Jointly Creating Shining “South Moment”南非警方解救1名遭绑架中国公民spring是“春天”,chicken是“鸡”,那spring chicken什么意思?25fall为什么建议多国联申?哪些联申的黄金组合拿offer更顺?神舟优雅 X5 笔记本开售:i9-12900H + 16GB RAM + 512GB 存储空间售 2999 元SpringBoot接口添加IP白名单限制我的岁月(二十五)Tomcat 调优总结(Tomcat自身优化、Linux内核优化、JVM优化)Property to Virtual Goods, More Young Chinese Are Drafting Wills【LEAP ACE】| Sign-Up the Consulting Boot Camp雷神 AIbook 15 轻薄本上架预约:OCuLink 接口、RGB 背光键盘、酷睿 Ultra7Fare Game: Why China’s Ride-Share Boom Is Leaving Drivers Behind华人同胞绑架中国富二代 下药+拴铁链囚禁 要550万赎金 装追踪器复制钥匙【长篇小说】县委副书记(062):今天更新这一章有些伤感华人绑架中国富二代 下药+拴铁链囚禁 要550万赎金 装追踪器复制钥匙SpringBoot Redis 分布式锁的正确实现方式为什么建议不要直接在网上买东西了?SpringBoot + Lua = 王炸!为什么我不建议你“早睡早起”|免费测睡眠类型SpringBoot 中实现订单30分钟自动取消的策略市区Loop房源L13 | 不收中介费/距离西北新闻学院200米/芝大booth和SAIC700米/西北法学院和医学院别人恶斗她苦干 中年离婚也出圈拒绝写重复代码,试试这套开源的 SpringBoot 组件,效率翻倍~Over 70% of Trip.com Staff Choose Working From HomeSpringBoot 容器镜像更新只要200k,你敢信???无题北美华人绑架中国富二代 下药+拴铁链囚禁 要550万赎金 装追踪器复制钥匙
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。