网站开发管理招聘,网页在线生成app,自己做网站怎么能被访问,免费观看高清正能量直播下载在SpringBoot框架中#xff0c;我们使用最多的是Tomcat#xff0c;这是SpringBoot默认的容器技术#xff0c;而且是内嵌式的Tomcat。
同时#xff0c;SpringBoot也支持Undertow容器#xff0c;我们可以很方便的用Undertow替换Tomcat#xff0c;而Undertow的性能和内存使…在SpringBoot框架中我们使用最多的是Tomcat这是SpringBoot默认的容器技术而且是内嵌式的Tomcat。
同时SpringBoot也支持Undertow容器我们可以很方便的用Undertow替换Tomcat而Undertow的性能和内存使用方面都优于Tomcat那我们如何使用Undertow技术呢本文将为大家细细讲解。
1SpringBoot中的Tomcat容器
SpringBoot可以说是目前最火的Java Web框架了。它将开发者从繁重的xml解救了出来让开发者在几分钟内就可以创建一个完整的Web服务极大的提高了开发者的工作效率。Web容器技术是Web项目必不可少的组成部分因为任Web项目都要借助容器技术来运行起来。
在SpringBoot框架中我们使用最多的是Tomcat这是SpringBoot默认的容器技术而且是内嵌式的Tomcat。
2SpringBoot设置Undertow
对于Tomcat技术Java程序员应该都非常熟悉它是Web应用最常用的容器技术。我们最早的开发的项目基本都是部署在Tomcat下运行那除了Tomcat容器SpringBoot中我们还可以使用什么容器技术呢
没错就是题目中的Undertow容器技术。 什么是Undertow Undertow 是一个采用 Java 开发的灵活的高性能 Web 服务器提供包括阻塞和基于 NIO 的非堵塞机制。Undertow 是红帽公司的开源产品是 Wildfly 默认的 Web 服务器。Undertow 提供一个基础的架构用来构建 Web 服务器这是一个完全为嵌入式设计的项目提供易用的构建器 API完全向下兼容 Java EE Servlet 3.1 和低级非堵塞的处理器。 Undertow的特点 高性能 在多款同类产品的压测中在高并发情况下表现出色。 Servlet4.0 支持 它提供了对 Servlet4.0 的支持。 Web Socket 完全支持包括JSR-356用以满足 Web 应用巨大数量的客户端。 内嵌式 它不需要容器只需通过 API 即可快速搭建 Web 服务器。 灵活性 交由链式Handler配置和处理请求可以最小化按需加载模块无须加载多余功能。 轻量级 它是一个 内嵌Web 服务器 由两个核心 Jar 包组成
SrpingBoot已经完全集成了Undertow技术我们只需要引入Undertow的依赖即可如下所示。 移除Tomcat的依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdexclusionsexclusiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-tomcat/artifactId/exclusion/exclusions
/dependency添加Undertow依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-undertow/artifactId
/dependency配置好以后我们启动应用程序发现容器已经替换为Undertow。 那我们为什么需要替换Tomcat为Undertow技术呢
3Tomcat与Undertow的优劣对比
Tomcat是Apache基金下的一个轻量级的Servlet容器支持Servlet和JSP。Tomcat具有Web服务器特有的功能包括 Tomcat管理和控制平台、安全局管理和Tomcat阀等。Tomcat本身包含了HTTP服务器因此也可以视作单独的Web服务器。
但是Tomcat和ApacheHTTP服务器不是一个东西ApacheHTTP服务器是用C语言实现的HTTP Web服务器。Tomcat是完全免费的深受开发者的喜爱。 Undertow是一款灵活的高性能Web服务器支持阻塞IO和非阻塞IO。由于Undertow采用Java语言开发可以直接嵌入到Java项目中使用。同时 Undertow完全支持Servlet和Web Socket在高并发情况下表现非常出色。 我们在相同机器配置下压测Tomcat和Undertow得到的测试结果如下所示
QPS测试结果对比 Tomcat Undertow
内存使用对比 Tomcat Undertow
通过测试发现在高并发系统中Tomcat相对来说比较弱。在相同的机器配置下模拟相等的请求数Undertow在性能和内存使用方面都是最优的。并且Undertow新版本默认使用持久连接这将会进一步提高它的并发吞吐能力。所以如果是高并发的业务系统Undertow是最佳选择。
4最后
SpingBoot中我们既可以使用Tomcat作为Http服务也可以用Undertow来代替。Undertow在高并发业务场景中性能优于Tomcat。所以如果我们的系统是高并发请求不妨使用一下Undertow你会发现你的系统性能会得到很大的提升。