禁止SpringBoot在项目中使用Tomcat容器的原理是什么

SpringBoot中的Tomcat容器

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

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

SpringBoot设置Undertow

对于Tomcat技术,Java程序员应该都非常熟悉,它是Web应用最常用的容器技术。我们较早的开发的项目基本都是部署在Tomcat下运行,那除了Tomcat容器,SpringBoot中我们还可以使用什么容器技术呢?没错,就是题目中的Undertow容器技术。SrpingBoot已经完全继承了Undertow技术,我们只需要引入Undertow的依赖即可,如下图所示。

禁止SpringBoot在项目中使用Tomcat容器的原理是什么

禁止SpringBoot在项目中使用Tomcat容器的原理是什么

配置好以后,我们启动应用程序,发现容器已经替换为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,在高并发情况下表现非常出色。

禁止SpringBoot在项目中使用Tomcat容器的原理是什么

我们在相同机器配置下压测Tomcat和Undertow,得到的测试结果如下所示:QPS测试结果对比: Tomcat

禁止SpringBoot在项目中使用Tomcat容器的原理是什么

Undertow

禁止SpringBoot在项目中使用Tomcat容器的原理是什么

内存使用对比:

Tomcat

禁止SpringBoot在项目中使用Tomcat容器的原理是什么

Undertow

禁止SpringBoot在项目中使用Tomcat容器的原理是什么

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

感谢各位的阅读,以上就是“禁止SpringBoot在项目中使用Tomcat容器的原理是什么”的内容了,经过本文的学习后,相信大家对禁止SpringBoot在项目中使用Tomcat容器的原理是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

文章标题:禁止SpringBoot在项目中使用Tomcat容器的原理是什么,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/27004

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云认证作者
上一篇 2022年9月18日
下一篇 2022年9月19日

相关推荐

  • mysql中的find_in_set字符串查找函数如何使用

    需求 系统中,不论是订单还是退货单,有的平台使用需要卖家审核,有的则不需要,所以在系统中可以设置订单或退货单的流程节点。 而对于每个流程节点,客户需求是每个节点都要根据系统下的员工的角色去做分发,从而订单指定到个人,而不是整个公司的员工都可以处理。 方案 对于上述场景,我实现的方案是在订单表和退货单…

    2022年8月29日
    74900
  • 知识管理对企业发展重要吗

    企业的每一项业务工作都与知识管理有关系,或者在创造知识,或者在使用知识。因此,建立完整的知识管理体系成为企业获得持续竞争优势是企业发展的重要目标。知识管理成为企业在新形式下战略管理的重要内容,知识经济催生了知识管理,而唯有以知识管理来迎接知识经济,才能应对知识经济所带来的挑战。 1、知识管理是网路新…

    2022年3月18日
    38500
  • windows谷歌浏览器黑屏如何解决

    解决方法: 1、右击浏览器,点击“快捷方式”。 2、随后将代码“–disable-gpu –disable-software-rasterize”黏贴到“目标”中。 3、随后打开浏览器,点击右上角的“三个点”再点击“设置”。 4、点击左侧的系统既可看到“使用硬件加速模式”的开…

    2022年9月8日
    61500
  • redis实现清空缓存的方法是什么

    正文 1.首先进到redis的安装目录,进到src目录下,找到redis-cli 2.首先用账号密码的方式进入到redis的服务端 ./redis-cli -h 127.0.0.1 -p 6379 -a 1234 进去后会出现下面的界面ip:port>,你就可以操作啦 3. flushdb —…

    2022年8月29日
    61700
  • javascript可不可以加密

    javascript可以加密;一般的JavaScript代码基本没有必要加密,加密都会把体积变大影响加载速度,如果是敏感的业务,则可以对JavaScript代码进行加密,在书写业务代码的时候就要设计到安全问题,一般较好是把整体业务做拆分,核心计算的业务较好放到后台,把简单的逻辑搞复杂化然后加密。 本…

    2022年9月1日
    66700
  • 电脑svchost占用内存过高怎么解决

    svchost占用内存过高解决方法: 1、找到计算器,右击打开,选择【管理】。 2、然后在左侧框中,选择【服务和应用程序】中的【服务】 3、然后在右侧中,寻找到【Superfetch】,然后双击打开。 4、在【启动类型】中,更改到【手动】。 5、然后【确定】,就可以了。 6、重启电脑以后,svcho…

    2022年9月2日
    1.1K00
  • windows realtek高清晰音频管理器怎么设置

    realtek高清晰音频管理器有什么用: 答:realtek高清晰音频管理器可以进行音频管理, 从而去发挥声卡的功能。 还可以去进行管理比如麦克风,耳机, 音响的音量,增益 、特效调节。 realtek设置方法: 1、在win10系统中打开控制面板,以小图标的方式查看,点击Realtek高清晰音频管…

    2022年9月24日
    1.4K00
  • MySQL存储过程的参数如何使用

    MySQL存储过程的参数 MySQL存储过程的参数共有三种: IN OUT INOUT 输入参数 输入参数(IN):在调用存储过程中传递数据给存储过程的参数(在调用的存储过程必须具有实际值的变量 或者 字面值) 细节注意:下面的存储过程创建会报错,他的类型以及类型长度需要和创建表字段的类型和类型长度…

    2022年8月31日
    55300
  • 怎么深入理解GOT表和PLT表

    0x01 前言 操作系统通常使用动态链接的方法来提高程序运行的效率。在动态链接的情况下,程序加载的时候并不会把链接库中所有函数都一起加载进来,而是程序执行的时候按需加载,如果有函数并没有被调用,那么它就不会在程序生命中被加载进来。这样的设计就能提高程序运行的流畅度,也减少了内存空间。而且现代操作系统…

    2022年9月26日
    96600
  • tracert命令有什么作用

    tracert命令的作用: 答:tracert命令是一种路由跟踪实用程序, 主要用于确定ip数据包访问目标所采取的路径。 tracert的使用需要在其后面加一个“ip地址”或者“url”, tracert会根据相对应的域名来进行转换的。 当数据从你计算机中通过多个网关传送到目的地时, 可以用来跟踪数…

    2022年8月31日
    92200
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部