溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SpringBoot中Tomcat和Undertow的優(yōu)缺點(diǎn)

發(fā)布時(shí)間:2021-06-25 12:01:45 來源:億速云 閱讀:5241 作者:chen 欄目:編程語言

本篇內(nèi)容介紹了“SpringBoot中Tomcat和Undertow的優(yōu)缺點(diǎn)”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

前言

在SpringBoot框架中,我們使用最多的是Tomcat,這是SpringBoot默認(rèn)的容器技術(shù),而且是內(nèi)嵌式的Tomcat。

同時(shí),SpringBoot也支持Undertow容器,我們可以很方便的用Undertow替換Tomcat,而Undertow的性能和內(nèi)存使用方面都優(yōu)于Tomcat,那我們?nèi)绾问褂肬ndertow技術(shù)呢?本文將為大家細(xì)細(xì)講解。

SpringBoot中的Tomcat容器

SpringBoot可以說是目前最火的Java Web框架了。它將開發(fā)者從繁重的xml解救了出來,讓開發(fā)者在幾分鐘內(nèi)就可以創(chuàng)建一個(gè)完整的Web服務(wù),極大的提高了開發(fā)者的工作效率。Web容器技術(shù)是Web項(xiàng)目必不可少的組成部分,因?yàn)槿蜽eb項(xiàng)目都要借助容器技術(shù)來運(yùn)行起來。

在SpringBoot框架中,我們使用最多的是Tomcat,這是SpringBoot默認(rèn)的容器技術(shù),而且是內(nèi)嵌式的Tomcat。

SpringBoot設(shè)置Undertow

對(duì)于Tomcat技術(shù),Java程序員應(yīng)該都非常熟悉,它是Web應(yīng)用最常用的容器技術(shù)。我們最早的開發(fā)的項(xiàng)目基本都是部署在Tomcat下運(yùn)行,那除了Tomcat容器,SpringBoot中我們還可以使用什么容器技術(shù)呢?

沒錯(cuò),就是題目中的Undertow容器技術(shù)。SrpingBoot已經(jīng)完全繼承了Undertow技術(shù),我們只需要引入U(xiǎn)ndertow的依賴即可,如下圖所示。

SpringBoot中Tomcat和Undertow的優(yōu)缺點(diǎn)

SpringBoot中Tomcat和Undertow的優(yōu)缺點(diǎn)

配置好以后,我們啟動(dòng)應(yīng)用程序,發(fā)現(xiàn)容器已經(jīng)替換為Undertow。

那我們?yōu)槭裁葱枰鎿QTomcat為Undertow技術(shù)呢?

Tomcat與Undertow的優(yōu)劣對(duì)比

Tomcat是Apache基金下的一個(gè)輕量級(jí)的Servlet容器,支持Servlet和JSP。Tomcat具有Web服務(wù)器特有的功能,包括 Tomcat管理和控制平臺(tái)、安全局管理和Tomcat閥等。Tomcat本身包含了HTTP服務(wù)器,因此也可以視作單獨(dú)的Web服務(wù)器。

但是,Tomcat和ApacheHTTP服務(wù)器不是一個(gè)東西,ApacheHTTP服務(wù)器是用C語言實(shí)現(xiàn)的HTTP Web服務(wù)器。Tomcat是完全免費(fèi)的,深受開發(fā)者的喜愛。

SpringBoot中Tomcat和Undertow的優(yōu)缺點(diǎn)

Undertow是Red Hat公司的開源產(chǎn)品, 它完全采用Java語言開發(fā),是一款靈活的高性能Web服務(wù)器,支持阻塞IO和非阻塞IO。由于Undertow采用Java語言開發(fā),可以直接嵌入到Java項(xiàng)目中使用。同時(shí), Undertow完全支持Servlet和Web Socket,在高并發(fā)情況下表現(xiàn)非常出色。

SpringBoot中Tomcat和Undertow的優(yōu)缺點(diǎn)

我們?cè)谙嗤瑱C(jī)器配置下壓測(cè)Tomcat和Undertow,得到的測(cè)試結(jié)果如下所示:

QPS測(cè)試結(jié)果對(duì)比:

Tomcat

SpringBoot中Tomcat和Undertow的優(yōu)缺點(diǎn)

Undertow

SpringBoot中Tomcat和Undertow的優(yōu)缺點(diǎn)

內(nèi)存使用對(duì)比:

Tomcat

SpringBoot中Tomcat和Undertow的優(yōu)缺點(diǎn)

Undertow

SpringBoot中Tomcat和Undertow的優(yōu)缺點(diǎn)

通過測(cè)試發(fā)現(xiàn),在高并發(fā)系統(tǒng)中,Tomcat相對(duì)來說比較弱。在相同的機(jī)器配置下,模擬相等的請(qǐng)求數(shù),Undertow在性能和內(nèi)存使用方面都是最優(yōu)的。并且Undertow新版本默認(rèn)使用持久連接,這將會(huì)進(jìn)一步提高它的并發(fā)吞吐能力。所以,如果是高并發(fā)的業(yè)務(wù)系統(tǒng),Undertow是最佳選擇。

最后

SpingBoot中我們既可以使用Tomcat作為Http服務(wù),也可以用Undertow來代替。Undertow在高并發(fā)業(yè)務(wù)場景中,性能優(yōu)于Tomcat。所以,如果我們的系統(tǒng)是高并發(fā)請(qǐng)求,不妨使用一下Undertow,你會(huì)發(fā)現(xiàn)你的系統(tǒng)性能會(huì)得到很大的提升

“SpringBoot中Tomcat和Undertow的優(yōu)缺點(diǎn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI