日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Undertow技術(shù):為什么很多Spring Boot開(kāi)發(fā)者放棄了Tomcat

 wwq圖書(shū)世界 2020-05-15

前言

在 Spring Boot 框架中,我們使用最多的是 Tomcat,這是 Spring Boot 默認(rèn)的容器技術(shù),而且是內(nèi)嵌式的 Tomcat。同時(shí),Spring Boot 也支持 Undertow 容器,我們可以很方便的用 Undertow 替換 Tomcat,而 Undertow 的性能和內(nèi)存使用方面都優(yōu)于Tomcat,那我們?nèi)绾问褂?Undertow 技術(shù)呢?本文將為大家細(xì)細(xì)講解。

Spring Boot 中的 Tomcat 容器

Spring Boot 可以說(shuō)是目前最火的 Java Web 框架了。它將開(kāi)發(fā)者從繁重的 XML 解救了出來(lái),讓開(kāi)發(fā)者在幾分鐘內(nèi)就可以創(chuàng)建一個(gè)完整的 Web 服務(wù),極大的提高了開(kāi)發(fā)者的工作效率。Web 容器技術(shù)是 Web 項(xiàng)目必不可少的組成部分,因?yàn)槿?Web 項(xiàng)目都要借助容器技術(shù)來(lái)運(yùn)行起來(lái)。在 Spring Boot 框架中,我們使用最多的是 Tomcat,這是 Spring Boot 默認(rèn)的容器技術(shù),而且是內(nèi)嵌式的 Tomcat。

Spring Boot 設(shè)置 Undertow

對(duì)于 Tomcat 技術(shù),Java 程序員應(yīng)該都非常熟悉,它是 Web 應(yīng)用最常用的容器技術(shù)。我們最早的開(kāi)發(fā)的項(xiàng)目基本都是部署在 Tomcat 下運(yùn)行,那除了 Tomcat 容器,Spring Boot 中我們還可以使用什么容器技術(shù)呢?沒(méi)錯(cuò),就是題目中的 Undertow 容器技術(shù)。Srping Boot 已經(jīng)完全繼承了 Undertow 技術(shù),我們只需要引入 Undertow 的依賴即可,如下圖所示。

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

那么,我們?yōu)槭裁葱枰鎿Q Tomcat 為 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 和 Apache HTTP 服務(wù)器不是一個(gè)東西,Apache HTTP 服務(wù)器是用 C 語(yǔ)言實(shí)現(xiàn)的 HTTP Web 服務(wù)器。Tomcat 是完全免費(fèi)的,深受開(kāi)發(fā)者的喜愛(ài)。

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

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

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

Tomcat

Undertow

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

Tomcat

Undertow

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

最后

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

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多