禁止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日

相关推荐

  • 使用ajax要不要引入jquery

    使用ajax不需要引入jquery;ajax全称是“Asynchronous javascript and XML”,也即异步JavaScript和XML,是指一种创建交互网页应用的网页开发技术,JavaScript原本就支持ajax,若是使用原生的ajax请求,当然不需要引入jquery。 本文操…

    2022年8月31日
    71700
  • col在html中指的是什么

    col在html中是“列”的意思;col是html中的标签,是“column”的缩写,该标签是给表格中一个或者多个列应用样式,而不需要重复为每个单元格或每一行设置样式,标签规定了元素内部每一列的属性,只能在table或colgroup元素中使用该标签。 本教程操作环境:windows10系统、HTM…

    2022年9月2日
    76200
  • hyliteresources文件夹有什么作用

    hyliteresources是系统资源文件夹;该文件夹是用来存放系统SHELL资源文件的,可以进行内容删除,但是文件夹不要删除,所有可以从中读取出需要的资源的文件,可以称之为资源文件。 本教程操作环境:windows10系统、DELL G3电脑。 hyliteresources是什么文件夹 hyl…

    2022年9月6日
    87900
  • docker中mysql开启日志怎么实现

    1.查看安mysql容器状态 docker ps 2.进入容器内部 docker exec -it 4ae9238c176a /bin/bash 3.登录mysql数据库 mysql -uroot -p123456 4.查看binlog日志是否开启,查看后关闭mysql 查看:show variab…

    2022年9月21日
    1.6K00
  • Google网页快照对抗小技巧是什么

    Google搜索引擎是大家经常用的搜索工具,更新内容快速,搜索内容准确,但是就是因为更新内容快速,导致有的时候特别讨厌,比如我删除了一个贴子,但是由于网站权值很高,你一发送这个贴子,Google就收录了,导致后来即使你删除了贴子也没有什么用…… 那么我们有…

    2022年9月26日
    58700
  • mysql有没有触发器

    mysql有触发器。MySQL触发器是存储在数据库目录中的一组SQL语句集合,是MySQL中管理数据的有力工具,主要用于保护表中的数据。MySQL支持三种触发器:1、INSERT触发器,是在INSERT语句执行之前或之后响应的触发器;2、UPDATE触发器,是在UPDATE语句执行之前或之后响应的触…

    2022年9月21日
    58900
  • cocos2d-LUA逆向中如何解密app资源

    还是以大神apk为例,通过前面分析app解密lua脚本,我们能够解密大神apk的lua脚本,现在我们来解密其资源(配置文件和图片等)。我们以比较重要的配置文件为例,未解密之前: 文件头部也有签名值:fuckyou!。看到这,我们首先就想到是不是也是用xxtea加密的,我们用上面的方法,先xxtea解…

    2022年9月21日
    1.4K00
  • MySQL主从延迟问题怎么解决

    什么是主从延迟 在讨论如何解决主从延迟之前,我们先了解下什么是主从延迟。 为了完成主从复制,从库需要通过 I/O 线程获取主库中 dump 线程读取的 binlog 内容并写入到自己的中继日志 relay log 中,从库的 SQL 线程再读取中继日志,重做中继日志中的日志,相当于再执行一遍 SQL…

    2022年9月18日
    4.3K00
  • 怎么用vue实现动态路由

    1、什么是动态路由? 动态路由,动态即不是写死的,是可变的。我们可以根据自己不同的需求加载不同的路由,做到不同的实现及页面的渲染。动态的路由存储可分为两种,一种是将路由存储到前端。另一种则是将路由存储到数据库。动态路由的使用一般结合角色权限控制一起使用。 总结: 1)路由可变,不是写死的,动态加载 …

    2022年9月15日
    91800
  • vlookup函数列序表v不出来如何解决

    解决方法 1、首先,匹配模式一般选择“精确匹配”,只有特殊情况才要用近似匹配。 2、如果你发现自己使用的近似匹配,例如函数最后为“true”或“1”就要更改。 3、其次,需要确保你的表格中没有空格。 4、我们可以使用替换功能,将所有空格全部替换成无。 5、最后,还要保证结果和查找数据的格式是一样的。…

    2022年9月22日
    82700
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部