<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    大公司為什么禁止SpringBoot項目使用Tomcat?

    共 1883字,需瀏覽 4分鐘

     ·

    2022-07-06 11:46

    往期熱門文章:

    1、Java 8 的 Stream 不好調(diào)試?別逗了!IDEA 調(diào)試就能輕松搞定?。?/a>
    2、如何用 Java 幾分鐘處理完 30 億個數(shù)據(jù)?
    3、計算機(jī)專業(yè)會不會成為下一個土木?
    4、xxl-job驚艷的設(shè)計,怎能叫人不愛
    5、ArrayList#subList這四個坑,一不小心就中招
    來源:阿邁達(dá)
    toutiao.com/a6775476659416990212

    # 前言


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


    同時,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)建一個完整的Web服務(wù),極大的提高了開發(fā)者的工作效率。Web容器技術(shù)是Web項目必不可少的組成部分,因?yàn)槿蜽eb項目都要借助容器技術(shù)來運(yùn)行起來。


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


    # SpringBoot設(shè)置Undertow


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


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




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


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


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


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


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



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



    我們在相同機(jī)器配置下壓測Tomcat和Undertow,得到的測試結(jié)果如下所示:


    QPS測試結(jié)果對比:


    Tomcat



    Undertow



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


    Tomcat



    Undertow



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


    # 最后


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

    往期熱門文章:

    1、計算機(jī)專業(yè)會不會成為下一個土木?
    2、xxl-job驚艷的設(shè)計,怎能叫人不愛
    3、ArrayList#subList這四個坑,一不小心就中招
    4、面試官:大量請求 Redis 不存在的數(shù)據(jù),從而影響數(shù)據(jù)庫,該如何解決?
    5、MySQL 暴跌!
    6、超越 Xshell!號稱下一代 Terminal 終端神器,用完愛不釋手!
    7、IDEA 官宣全新默認(rèn) UI,太震撼了??!
    8、讓你直呼「臥槽」的 GitHub 項目!
    9、Kafka又笨又重,為啥不選Redis?
    10、50多個高頻免費(fèi) API 接口分享

    瀏覽 51
    點(diǎn)贊
    評論
    收藏
    分享

    手機(jī)掃一掃分享

    分享
    舉報
    評論
    圖片
    表情
    推薦
    點(diǎn)贊
    評論
    收藏
    分享

    手機(jī)掃一掃分享

    分享
    舉報

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    亚洲一区在线无码 | 精品无码免费一区二区三区 | 人人撸人人干 | 51黄片| 牛牛精品一区二区AV |