1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Spring Boot太重,Vert.x真香!

        共 1997字,需瀏覽 4分鐘

         ·

        2022-02-23 19:04

        點(diǎn)擊上方“Java技術(shù)江湖”,選擇“設(shè)為星標(biāo)

        回復(fù)”666“獲取全網(wǎng)最熱的Java核心知識(shí)點(diǎn)整理


        前 言


        Spring Boot總體來說,搭建還是比較容易的,特別是Spring Cloud全家桶,簡(jiǎn)稱親民微服務(wù),但在發(fā)展趨勢(shì)中,容器化技術(shù)已經(jīng)成熟,面對(duì)巨耗內(nèi)存的Spring Boot,小公司表示用不起。如今,很多剛誕生的JAVA微服務(wù)框架大多主打“輕量級(jí)”,主要還是因?yàn)镾pring Boot太重。

        JAVA系微服務(wù)框架No1-Spring Cloud



        | 介紹

        有Spring大靠山在,更新、穩(wěn)定性、成熟度的問題根本不需要考慮。在JAVA系混的技術(shù)人員大約都聽說過Spring的大名吧,所以不缺程序員……,而且這入手的難度十分低,完全可以省去一個(gè)架構(gòu)師。
        但是,你必然在服務(wù)器上付出:
        • 至少一臺(tái)“服務(wù)發(fā)現(xiàn) ”的服務(wù)器;
        • 可能有一個(gè)統(tǒng)一的網(wǎng)關(guān)Gateway;
        • 可能需要一個(gè)用于“分布式配置管理”的配置中心;
        • 可能進(jìn)行“服務(wù)追蹤”,知道我的請(qǐng)求從哪里來,到哪里去;
        • 可能需要“集群監(jiān)控”;
        • 項(xiàng)目上線后發(fā)現(xiàn),我們需要好多服務(wù)器,每次在集群中增加服務(wù)器時(shí),都感覺心疼;

        | 壓測(cè)30秒

        壓測(cè)前的內(nèi)存占用
        如圖,內(nèi)存占用304M。
        壓測(cè)時(shí)的內(nèi)存占用
        如圖,內(nèi)存占用1520M(1.5G),CPU上升到321%

        | 概覽

        | 總結(jié)

        一個(gè)Spring Boot的簡(jiǎn)單應(yīng)用,最少1G內(nèi)存,一個(gè)業(yè)務(wù)點(diǎn)比較少的微服務(wù)編譯后的JAR會(huì)大約50M;而Spring Cloud引入的組件會(huì)相對(duì)多一些,消耗的資源也會(huì)相對(duì)更多一些。
        啟動(dòng)時(shí)間大約10秒左右: Started Application in 10.153 seconds (JVM running for 10.915)

        JAVA系響應(yīng)式編程的工具包Vert.x



        | 介紹

        背靠Eclipse的Eclipse Vert.x是一個(gè)用于在JVM上構(gòu)建響應(yīng)式應(yīng)用程序的工具包。定位上與Spring Boot不沖突,甚至可以將Vert.x結(jié)合Spring Boot使用。眾多Vert.x模塊提供了大量微服務(wù)的組件,在很多人眼里是一種微服務(wù)架構(gòu)的選擇。
        華為微服務(wù)框架Apache ServiceComb就是以Vert.x為底層框架實(shí)現(xiàn)的,在"基準(zhǔn)測(cè)試網(wǎng)站TechEmpower"中,Vert.x的表現(xiàn)也十分亮眼。

        | 壓測(cè)30秒

        壓測(cè)前的內(nèi)存占用
        如圖,內(nèi)存占用65M。
        壓測(cè)時(shí)的內(nèi)存占用
        如圖,內(nèi)存占139M,CPU占2.1%,給人的感覺似乎并沒有進(jìn)行壓測(cè)。

        | 概覽

        | 總結(jié)

        Vert.x單個(gè)服務(wù)打包完成后大約7M左右的JAR,不依賴Tomcat、Jetty之類的容器,直接在JVM上跑。
        Vert.x消耗的資源很低,感覺一個(gè)1核2G的服務(wù)器已經(jīng)能夠部署許多個(gè)Vert.x服務(wù)。除去編碼方面的問題,真心符合小項(xiàng)目和小模塊。git市場(chǎng)上已經(jīng)出現(xiàn)了基于Vert.x實(shí)現(xiàn)的開源網(wǎng)關(guān)- VX-API-Gateway幫助文檔(https://duhua.gitee.io/vx-api-gateway-doc/)對(duì)多語言支持,很適合小型項(xiàng)目快速上線。
        啟動(dòng)時(shí)間不到1秒:Started Vert.x in 0.274 seconds (JVM running for 0.274)

        JAVA系其他微服務(wù)框架



        | SparkJava

        • jar比較小,大約10M
        • 占內(nèi)存小,大約30~60MB;
        • 性能還可以,與Spring Boot相仿;
        | Micronaut
        • Grails團(tuán)隊(duì)新寵;
        • 可以用 Java、Groovy 和 Kotlin 編寫的基于微服務(wù)的應(yīng)用程序;
        • 相比Spring Boot已經(jīng)比較全面;
        • 性能較優(yōu),編碼方式與Spring Boot比較類似;
        • 啟動(dòng)時(shí)間和內(nèi)存消耗方面比其他框架更高效;
        • 多語言;
        • 依賴注入;
        • 內(nèi)置多種云本地功能;
        • 很新,剛發(fā)布1.0.0
        | Javalin
        • 上手極為容易;
        • 靈活,可以兼容同步和異步兩種編程思路;
        • JAR小,4~5M;
        • 多語言;
        • 有KOA的影子;
        • 只有大約2000行源代碼,源代碼足夠簡(jiǎn)單,可以理解和修復(fù);
        • 符合當(dāng)今趨勢(shì);
        • 多語言;
        • 嵌入式服務(wù)器Jetty;
        | Quarkus
        • 啟動(dòng)快;
        • JAR小,大約10M;
        • 文檔很少。

        轉(zhuǎn)自:襄垣

        鏈接:https://sourl.cn/f4CGsu


        - EOF -

        支付寶又出大事,1000萬人已“遭殃”。


        Spring Boot 四大核心組件,你知道幾個(gè)?


        如何看待近7成高中生支持996工作制?


        關(guān)注公眾號(hào)【Java技術(shù)江湖】后回復(fù)“PDF”即可領(lǐng)取200+頁的《Java工程師面試指南》

        強(qiáng)烈推薦,幾乎涵蓋所有Java工程師必知必會(huì)的知識(shí)點(diǎn),不管是復(fù)習(xí)還是面試,都很實(shí)用。



        瀏覽 62
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            aaaaa成人无码在线观看 97自拍超碰 | 特级一级毛片 | 高清无码操 | 日本一区二区三区在线播放 | 亚洲色婷婷在线播放 | 玖玖干| 久久黄片视频 | 逼片毛片| 丝袜美女办公室床亲吻视频 | 国产精品 视频瘾 |