在 Spring Boot 框架中,我們使用最多的是 Tomcat,這是 Spring Boot 默認的容器技術,而且是內嵌式的 Tomcat。同時,Spring Boot 也支持 Undertow 容器,我們可以很方便的用 Undertow 替換 Tomcat,而 ...
在 Spring Boot 框架中,我們使用最多的是 Tomcat,這是 Spring Boot 默認的容器技術,而且是內嵌式的 Tomcat。同時,Spring Boot 也支持 Undertow 容器,我們可以很方便的用 Undertow 替換 Tomcat,而 Undertow 的性能和內存使用方面都優于Tomcat,那我們如何使用 Undertow 技術呢?本文將為大家細細講解。
# Spring Boot 中的 Tomcat 容器
Spring Boot 可以說是目前最火的 Java Web 框架了。它將開發者從繁重的 XML 解救了出來,讓開發者在幾分鐘內就可以創建一個完整的 Web 服務,極大的提高了開發者的工作效率。Web 容器技術是 Web 項目必不可少的組成部分,因為任 Web 項目都要借助容器技術來運行起來。在 Spring Boot 框架中,我們使用最多的是 Tomcat,這是 Spring Boot 默認的容器技術,而且是內嵌式的 Tomcat。
# Spring Boot 設置 Undertow
對于 Tomcat 技術,Java 程序員應該都非常熟悉,它是 Web 應用最常用的容器技術。我們最早的開發的項目基本都是部署在 Tomcat 下運行,那除了 Tomcat 容器,Spring Boot 中我們還可以使用什么容器技術呢?沒錯,就是題目中的 Undertow 容器技術。Srping Boot 已經完全繼承了 Undertow 技術,我們只需要引入 Undertow 的依賴即可,如下圖所示。
配置好以后,我們啟動應用程序,發現容器已經替換為 Undertow。
那么,我們為什么需要替換 Tomcat 為 Undertow 技術呢?
# Tomcat 與 Undertow 的優劣對比
Tomcat 是 Apache 基金下的一個輕量級的 Servlet 容器,支持 Servlet 和 JSP。Tomcat 具有 Web 服務器特有的功能,包括 Tomcat 管理和控制平臺、安全局管理和 Tomcat 閥等。Tomcat 本身包含了 HTTP 服務器,因此也可以視作單獨的 Web 服務器。但是,Tomcat 和 Apache HTTP 服務器不是一個東西,Apache HTTP 服務器是用 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 是最佳選擇。
# 最后
Sping Boot 中我們既可以使用 Tomcat 作為 HTTP 服務,也可以用 Undertow 來代替。Undertow 在高并發業務場景中,性能優于 Tomcat。所以,如果我們的系統是高并發請求,不妨使用一下 Undertow,你會發現你的系統性能會得到很大的提升。
來源:本文內容搜集或轉自各大網絡平臺,并已注明來源、出處,如果轉載侵犯您的版權或非授權發布,請聯系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權及插圖屬于原作者。
Copyright?2013-2024 JSedu114 All Rights Reserved. 江蘇教育信息綜合發布查詢平臺保留所有權利
蘇公網安備32010402000125
蘇ICP備14051488號-3技術支持:南京博盛藍睿網絡科技有限公司
南京思必達教育科技有限公司版權所有 百度統計