Spring Boot總體來(lái)說(shuō),搭建還是比較容易的,特別是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)定性、成熟度的問(wèn)題根本不需要考慮。在JAVA系混的技術(shù)人員大約都聽說(shuō)過(guò)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)求從哪里來(lái),到哪里去;
可能需要“集群監(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ù)。除去編碼方面的問(wèn)題,真心符合小項(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ì)多語(yǔ)言支持,很適合小型項(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)存消耗方面比其他框架更高效;
多語(yǔ)言;
依賴注入;
內(nèi)置多種云本地功能;
很新,剛發(fā)布1.0.0
Javalin
上手極為容易;
靈活,可以兼容同步和異步兩種編程思路;
JAR小,4~5M;
多語(yǔ)言;
有KOA的影子;
只有大約2000行源代碼,源代碼足夠簡(jiǎn)單,可以理解和修復(fù);
符合當(dāng)今趨勢(shì);
多語(yǔ)言;
嵌入式服務(wù)器Jetty;
Quarkus
啟動(dòng)快;
JAR小,大約10M;
文檔很少;
-
內(nèi)存
+關(guān)注
關(guān)注
8文章
3055瀏覽量
74338 -
JAVA
+關(guān)注
關(guān)注
19文章
2975瀏覽量
105161
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
校園點(diǎn)餐訂餐外賣跑腿Java源碼
![校園點(diǎn)餐訂餐外賣跑腿Java源碼](https://file1.elecfans.com/web2/M00/01/88/wKgZoma12kuAW8bCAAC3AW_syTQ129.png)
SSM開發(fā)環(huán)境的搭建教程 SSM與Spring Boot的區(qū)別
Spring 應(yīng)用合并之路(二):峰回路轉(zhuǎn),柳暗花明
Spring事務(wù)實(shí)現(xiàn)原理
![<b class='flag-5'>Spring</b>事務(wù)實(shí)現(xiàn)原理](https://file1.elecfans.com//web2/M00/0B/1B/wKgZomctcxKAXsmhAAEMko_SUCM423.png)
Spring Cloud Gateway網(wǎng)關(guān)框架
![<b class='flag-5'>Spring</b> Cloud Gateway網(wǎng)關(guān)框架](https://file1.elecfans.com/web2/M00/04/A6/wKgaombGkiKAAwa1AAE-bJwRAe8680.png)
單片機(jī)boot0和boot1怎么設(shè)置
stm32讀取boot引腳狀態(tài)
STM32引腳中的BOOT1在哪里
stm32boot0和boot1對(duì)應(yīng)哪個(gè)p引腳
vue+spring boot人員定位系統(tǒng)源碼,實(shí)現(xiàn)實(shí)時(shí)定位、智慧調(diào)度、軌跡追蹤
![vue+<b class='flag-5'>spring</b> <b class='flag-5'>boot</b>人員定位系統(tǒng)源碼,實(shí)現(xiàn)實(shí)時(shí)定位、智慧調(diào)度、軌跡追蹤](https://file1.elecfans.com/web2/M00/01/43/wKgZoma0ZG2AdMnzAA7KFcPQfdw999.png)
玩轉(zhuǎn)Spring狀態(tài)機(jī)
![玩轉(zhuǎn)<b class='flag-5'>Spring</b>狀態(tài)機(jī)](https://file1.elecfans.com//web2/M00/F3/2C/wKgaomZ46Y6AHiVCAACxvB4H4AM171.png)
UWB室內(nèi)外高精度一體化融合定位系統(tǒng)源碼 UWB技術(shù)定位系統(tǒng)應(yīng)用場(chǎng)景 Java+Spring boot+MYSQL?技術(shù)開發(fā)
![UWB室內(nèi)外高精度一體化融合定位系統(tǒng)源碼 UWB技術(shù)定位系統(tǒng)應(yīng)用場(chǎng)景 Java+<b class='flag-5'>Spring</b> <b class='flag-5'>boot</b>+MYSQL?技術(shù)開發(fā)](https://file1.elecfans.com/web2/M00/EF/BA/wKgZomZw9MOAMdJ0AAF1z2Esq-o805.png)
Saturday只是一個(gè)枚舉元素啊,而today是一個(gè)枚舉變量,為什么他倆所占的內(nèi)存空間大小是一樣的? [
SpingBoot的5個(gè)擴(kuò)展點(diǎn),超級(jí)實(shí)用!
![SpingBoot的5個(gè)擴(kuò)展點(diǎn),超級(jí)實(shí)用!](https://file1.elecfans.com/web2/M00/C1/7C/wKgaomXWv_eABTbBAAAGHpXuKeI407.jpg)
評(píng)論