当前位置: 首页 > 后端技术 > Java

为什么大公司禁止SpringBoot项目使用Tomcat?_0

时间:2023-04-01 13:21:58 Java

本文已收录到Github仓库,其中包括计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招代理招收分享等核心知识点,欢迎star~Github地址:https://github.com/Tyson0314/...它是内置的嵌入式Tomcat。同时,SpringBoot还支持Undertow容器。我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内存占用都优于Tomcat。那么我们如何使用Undertow技术呢?本文将详细解释。SpringBoot中的Tomcat容器SpringBoot可以说是目前最火的JavaWeb框架。它把开发人员从繁重的xml中解救出来,让开发人员在几分钟内创建一个完整的web服务,大大提高了开发人员的工作效率。Web容器技术是Web项目必不可少的组成部分,因为任何Web项目都必须依赖容器技术才能运行。在SpringBoot框架中,我们用得最多的是Tomcat,它是SpringBoot默认的容器技术,是一个嵌入式的Tomcat。推荐:涵盖几乎所有你需要的SpringBoot操作。SpringBoot集合UndertowJava程序员应该非常熟悉Tomcat技术,它是Web应用最常用的容器技术。我们最早的开发项目基本都是在Tomcat下部署运行的。除了Tomcat容器,我们在SpringBoot中还可以使用哪些容器技术呢?没错,就是标题中的Undertow容器技术。SrpingBoot已经完全继承了Undertow技术,我们只需要引入Undertow的依赖,如下图所示。配置好后,我们启动应用,发现容器已经换成了Undertow。那为什么要用Undertow技术来替代Tomcat呢?Tomcat和Undertow的优缺点对比Tomcat是Apache基金会下的一个轻量级的Servlet容器,支持Servlet和JSP。Tomcat具有Web服务器特有的功能,包括Tomcat管控平台、安全局管理和Tomcat阀门等。Tomcat本身包含一个HTTP服务器,因此也可以看成是一个独立的Web服务器。但是,Tomcat和ApacheHTTP服务器不是一回事。ApacheHTTP服务器是一个用C语言实现的HTTPWeb服务器。Tomcat是完全免费的,深受开发人员的喜爱。Undertow是RedHat的开源产品。它完全是用Java语言开发的。它是一个灵活的高性能Web服务器,支持阻塞IO和非阻塞IO。由于Undertow是用Java语言开发的,所以可以直接嵌入到Java项目中。同时,Undertow全面支持Servlet和WebSocket,在高并发情况下表现非常出色。我们在同机配置下对Tomcat和Undertow进行了压力测试,得到的测试结果如下:QPS测试结果对比:TomcatUndertow内存占用对比:TomcatUndertow通过测试发现Tomcat在高并发系统中的表现比较弱。在相同的机器配置下,模拟相同数量的请求,Undertow在性能和内存使用方面是最优的。并且新版本的Undertow默认使用了持久连接,这将进一步提升其并发吞吐量。所以,如果是高并发的业务系统,Undertow是最好的选择。最后,在SpingBoot中,我们可以使用Tomcat作为Http服务,或者使用Undertow代替。Undertow在高并发业务场景下性能优于Tomcat。所以,如果我们的系统有高并发请求,不妨使用Undertow,你会发现你的系统性能会有很大的提升。参考链接:原文地址:头条网/a677547665941699021最后给大家分享一个Github仓库,里面有大斌编译的300多本经典计算机书籍PDF,包括C语言、C++、Java、Python、前端、数据库,和操作系统,计算机网络,数据结构与算法,机器学习,编程生活等等,都可以star一下,下次找书直接上搜,仓库持续更新~Github地址:https://github.com/Tyson0314/...