色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Spring Boot為什么這么耗內存

汽車玩家 ? 來源:Java技術架構 ? 作者:Java技術架構 ? 2020-05-05 22:34 ? 次閱讀

Spring Boot總體來說,搭建還是比較容易的,特別是Spring Cloud全家桶,簡稱親民微服務,但在發展趨勢中,容器化技術已經成熟,面對巨耗內存的Spring Boot,小公司表示用不起。如今,很多剛誕生的JAVA微服務框架大多主打“輕量級”,主要還是因為Spring Boot太重。

JAVA系微服務框架

No1-Spring Cloud

介紹

有Spring大靠山在,更新、穩定性、成熟度的問題根本不需要考慮。在JAVA系混的技術人員大約都聽說過Spring的大名吧,所以不缺程序員……,而且這入手的難度十分低,完全可以省去一個架構師。

但是,你必然在服務器上付出:

至少一臺“服務發現 ”的服務器;

可能有一個統一的網關Gateway;

可能需要一個用于“分布式配置管理”的配置中心

可能進行“服務追蹤”,知道我的請求從哪里來,到哪里去;

可能需要“集群監控”;

項目上線后發現,我們需要好多服務器,每次在集群中增加服務器時,都感覺心疼;

壓測30秒

壓測前的內存占用

Spring Boot為什么這么耗內存

如圖,內存占用304M。

壓測時的內存占用

Spring Boot為什么這么耗內存

如圖,內存占用1520M(1.5G),CPU上升到321%

概覽

Spring Boot為什么這么耗內存

總結

一個Spring Boot的簡單應用,最少1G內存,一個業務點比較少的微服務編譯后的JAR會大約50M;而Spring Cloud引入的組件會相對多一些,消耗的資源也會相對更多一些。

啟動時間大約10秒左右: Started Application in 10.153 seconds (JVM running for 10.915)

JAVA系響應式編程的工具包Vert.x

介紹

背靠Eclipse的Eclipse Vert.x是一個用于在JVM上構建響應式應用程序的工具包。定位上與Spring Boot不沖突,甚至可以將Vert.x結合Spring Boot使用。眾多Vert.x模塊提供了大量微服務的組件,在很多人眼里是一種微服務架構的選擇。

華為微服務框架Apache ServiceComb就是以Vert.x為底層框架實現的,在"基準測試網站TechEmpower"中,Vert.x的表現也十分亮眼。

壓測30秒

壓測前的內存占用

Spring Boot為什么這么耗內存

如圖,內存占用65M。

壓測時的內存占用

Spring Boot為什么這么耗內存

如圖,內存占139M,CPU占2.1%,給人的感覺似乎并沒有進行壓測。

概覽

Spring Boot為什么這么耗內存

總結

Vert.x單個服務打包完成后大約7M左右的JAR,不依賴Tomcat、Jetty之類的容器,直接在JVM上跑。

Vert.x消耗的資源很低,感覺一個1核2G的服務器已經能夠部署許多個Vert.x服務。除去編碼方面的問題,真心符合小項目和小模塊。git市場上已經出現了基于Vert.x實現的開源網關- VX-API-Gateway幫助文檔

https://duhua.gitee.io/vx-api-gateway-doc

對多語言支持,很適合小型項目快速上線。

啟動時間不到1秒:Started Vert.x in 0.274 seconds (JVM running for 0.274)

JAVA系其他微服務框架

SparkJava

jar比較小,大約10M

占內存小,大約30~60MB;

性能還可以,與Spring Boot相仿;

Micronaut

Grails團隊新寵;

可以用 Java、Groovy 和 Kotlin 編寫的基于微服務的應用程序;

相比Spring Boot已經比較全面;

性能較優,編碼方式與Spring Boot比較類似;

啟動時間和內存消耗方面比其他框架更高效;

多語言;

依賴注入;

內置多種云本地功能;

很新,剛發布1.0.0

Javalin

上手極為容易;

靈活,可以兼容同步和異步兩種編程思路;

JAR小,4~5M;

多語言;

有KOA的影子;

只有大約2000行源代碼,源代碼足夠簡單,可以理解和修復;

符合當今趨勢;

多語言;

嵌入式服務器Jetty;

Quarkus

啟動快;

JAR小,大約10M;

文檔很少;

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內存
    +關注

    關注

    8

    文章

    3052

    瀏覽量

    74276
  • JAVA
    +關注

    關注

    19

    文章

    2974

    瀏覽量

    105089
收藏 人收藏

    評論

    相關推薦

    校園點餐訂餐外賣跑腿Java源碼

    創建一個校園點餐訂餐外賣跑腿系統是一個復雜的項目,涉及到前端、后端、數據庫設計等多個方面。在這里,我可以提供一個簡化的Java后端示例,使用Spring Boot框架來搭建一個基本的API服務。這個
    的頭像 發表于 12-24 14:55 ?177次閱讀
    校園點餐訂餐外賣跑腿Java源碼

    SSM開發環境的搭建教程 SSM與Spring Boot的區別

    SSM開發環境的搭建教程 SSM(Spring+SpringMVC+MyBatis)開發環境的搭建涉及多個步驟,以下是詳細的教程: 創建Maven項目 : 使用Maven工具創建一個新的Maven
    的頭像 發表于 12-16 18:13 ?654次閱讀

    Spring 應用合并之路(二):峰回路轉,柳暗花明

    提醒下,決定拋開 Spring Boot 內置的父子容器方案,完全自己實現父子容器。 如何加載 web 項目? 現在的難題只有一個:如何加載 web 項目?加載完成后,如何持續持有 web 項目?經過思考后,可以創建一個 boot
    的頭像 發表于 12-12 11:22 ?820次閱讀

    Spring事務實現原理

    作者:京東零售 范錫軍 1、引言 springspring-tx模塊提供了對事務管理支持,使用spring事務可以讓我們從復雜的事務處理中得到解脫,無需要去處理獲得連接、關閉連接、事務提交和回滾等
    的頭像 發表于 11-08 10:10 ?870次閱讀
    <b class='flag-5'>Spring</b>事務實現原理

    Spring Cloud Gateway網關框架

    SpringCloud Gateway功能特征如下: (1) 基于Spring Framework 5, Project Reactor 和 Spring Boot 2.0 進行構建; (2) 動態路由:能夠匹配任何請求屬性;
    的頭像 發表于 08-22 09:58 ?540次閱讀
    <b class='flag-5'>Spring</b> Cloud Gateway網關框架

    單片機boot0和boot1怎么設置

    單片機Boot0和Boot1簡介 Boot0和Boot1是單片機啟動模式選擇引腳,用于選擇單片機的啟動模式。 Boot0和
    的頭像 發表于 08-22 09:50 ?3009次閱讀

    stm32讀取boot引腳狀態

    在STM32微控制器中,Boot引腳(通常指的是BOOT0和BOOT1引腳)的狀態決定了設備啟動時的引導模式。這些引腳的狀態在復位時被讀取,并據此選擇啟動哪塊存儲器。比如,STM32F103系列
    的頭像 發表于 08-22 09:48 ?1571次閱讀

    STM32引腳中的BOOT1在哪里

    STM32是STMicroelectronics(意法半導體)推出的一系列32位微控制器,廣泛應用于嵌入式系統設計。關于STM32的BOOT1引腳,它主要與系統的啟動模式有關。 BOOT1引腳功能
    的頭像 發表于 08-22 09:43 ?2334次閱讀

    stm32boot0和boot1對應哪個p引腳

    STM32系列微控制器是一種廣泛應用于嵌入式系統領域的32位微控制器。在STM32系列微控制器中,BOOT0和BOOT1是兩個重要的引腳,它們用于設置設備的啟動模式。 首先,讓我們了解STM32系列
    的頭像 發表于 08-22 09:40 ?3666次閱讀

    vue+spring boot人員定位系統源碼,實現實時定位、智慧調度、軌跡追蹤

    、機具、物料上定位標簽回傳的位置信息數據,采用多維定位模式,精確定位人、機具、物料的實時位置,實現實時定位、物料標簽配置、智慧調度、軌跡追蹤、工時統計、區域物料統計、電子圍欄等應用功能。 技術架構:java+ spring boot+ v
    的頭像 發表于 08-08 14:27 ?851次閱讀
    vue+<b class='flag-5'>spring</b> <b class='flag-5'>boot</b>人員定位系統源碼,實現實時定位、智慧調度、軌跡追蹤

    玩轉Spring狀態機

    說起Spring狀態機,大家很容易聯想到這個狀態機和設計模式中狀態模式的區別是啥呢?沒錯,Spring狀態機就是狀態模式的一種實現,在介紹Spring狀態機之前,讓我們來看看設計模式中的狀態模式
    的頭像 發表于 06-25 14:21 ?1019次閱讀
    玩轉<b class='flag-5'>Spring</b>狀態機

    UWB室內外高精度一體化融合定位系統源碼 UWB技術定位系統應用場景 Java+Spring boot+MYSQL?技術開發

    UWB室內外高精度一體化融合定位系統源碼 UWB技術定位系統應用場景 Java+Spring boot+MYSQL?技術開發 系統聚焦基于UWB(超寬帶)技術的底層定位網絡和定位算法,通過對定位分站
    的頭像 發表于 06-18 10:46 ?528次閱讀
    UWB室內外高精度一體化融合定位系統源碼 UWB技術定位系統應用場景 Java+<b class='flag-5'>Spring</b> <b class='flag-5'>boot</b>+MYSQL?技術開發

    Saturday只是一個枚舉元素啊,而today是一個枚舉變量,為什么他倆所占的內存空間大小是一樣的? [

    #include \"stdio.h\" enum Season { spring, summer=100, fall=96, winter ,winter1
    發表于 05-10 07:07

    在MDK中使用RTT為什么內存占用這么大?

    為什么在MDK中使用RTT ,內存占用這么大?
    發表于 02-26 07:19

    SpingBoot的5個擴展點,超級實用!

    我們在啟動Spring Boot項目的時候,是執行這樣一個方法來啟動的
    的頭像 發表于 02-22 11:28 ?529次閱讀
    SpingBoot的5個擴展點,超級實用!
    主站蜘蛛池模板: 亚洲AV噜噜狠狠网址蜜桃尤物 | av在线不卡中文网 | 高傲教师麻麻被同学调教123 | 欧美美女一区二区三区 | 欧美日韩精品一区二区三区高清视频 | 大学生一级毛片免费看 | 成年人视频免费在线播放 | 肉动漫无修在线播放 | 母乳女神春日もな | 经典三级四虎在线观看 | 99爱在线精品视频免费观看9 | 俄罗斯呦呦 | 久草色在线 | 亚洲精品国产第一区第二区 | 2022久久精品国产色蜜蜜麻豆 | 国内精品视频在线播放一区 | 欧美日韩精品不卡在线观看 | 亚洲熟女片嫩草影院 | 精品国产90后在线观看 | ewp绞死vk失禁编 | 久久亚洲午夜牛牛影视 | 国产精品九九久久精品视 | 99久久夜色精品国产亚洲AV卜 | 亚洲午夜精品AV无码少妇 | 黄小飞二人转 | 国产女合集第六部 | 亚洲综合日韩中文字幕v在线 | 秋霞电影网午夜一级鲁丝片 | 精品国产中文字幕在线视频 | 中国老妇xxxhd | 99热久久这里只精品国产WWW | 一区二区三区无码被窝影院 | 国产无遮挡色视频免费观看性色 | 强奷乱码中文字幕熟女免费 | 欧美日韩在线亚洲一 | 蜜桃传媒在线观看入口 | 在线视频久久只有精品第一日韩 | 饥渴的40岁熟妇完整版在线 | 亚洲国产五月综合网 | 91麻豆精品一二三区在线 | 日本午夜视频在线 |