首頁  >  文章  >  Java  >  禁止SpringBoot在專案中使用Tomcat容器的原理是什麼

禁止SpringBoot在專案中使用Tomcat容器的原理是什麼

PHPz
PHPz轉載
2023-05-12 15:34:061304瀏覽

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容器的原理是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除