前言
在SpringBoot框架中,咱们应用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。同时,SpringBoot也反对Undertow容器,咱们能够很不便的用Undertow替换Tomcat,而Undertow的性能和内存应用方面都优于Tomcat,那咱们如何应用Undertow技术呢?本文将为大家细细解说。
SpringBoot中的Tomcat容器
SpringBoot能够说是目前最火的Java Web框架了。它将开发者从沉重的xml拯救了进去,让开发者在几分钟内就能够创立一个残缺的Web服务,极大的进步了开发者的工作效率。Web容器技术是Web我的项目必不可少的组成部分,因为任Web我的项目都要借助容器技术来运行起来。在SpringBoot框架中,咱们应用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。举荐:最全面的Java面试网站
SpringBoot设置Undertow
对于Tomcat技术,Java程序员应该都十分相熟,它是Web利用最罕用的容器技术。咱们最早的开发的我的项目根本都是部署在Tomcat下运行,那除了Tomcat容器,SpringBoot中咱们还能够应用什么容器技术呢?没错,就是题目中的Undertow容器技术。SrpingBoot曾经齐全继承了Undertow技术,咱们只须要引入Undertow的依赖即可,如下图所示。
配置好当前,咱们启动应用程序,发现容器曾经替换为Undertow。那咱们为什么须要替换Tomcat为Undertow技术呢?
本文曾经收录到Github仓库,该仓库蕴含计算机根底、Java根底、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等外围知识点,欢送star~
Github地址
如果拜访不了Github,能够拜访gitee地址。
gitee地址
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,你会发现你的零碎性能会失去很大的晋升。
好货色应该要分享进去!我把本人学习计算机多年以来的书籍分享进去了,汇总到一个计算机经典编程书籍仓库了,一共300多本,包含C语言、C++、Java、Python、前端、数据库、操作系统、计算机网络、数据结构和算法、机器学习、编程人生等,能够star一下,下次找书间接在下面搜寻,仓库继续更新中~
Github地址