自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Spring Boot太重,Vert.x真香!

開發(fā) 后端
如今,很多剛誕生的JAVA微服務(wù)框架大多主打“輕量級”,主要還是因為Spring Boot太重。

前 言

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

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

介紹

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

但是,你必然在服務(wù)器上付出:

  • 至少一臺“服務(wù)發(fā)現(xiàn) ”的服務(wù)器;
  • 可能有一個統(tǒng)一的網(wǎng)關(guān)Gateway;
  • 可能需要一個用于“分布式配置管理”的配置中心;
  • 可能進(jìn)行“服務(wù)追蹤”,知道我的請求從哪里來,到哪里去;
  •  可能需要“集群監(jiān)控”;
  •  項目上線后發(fā)現(xiàn),我們需要好多服務(wù)器,每次在集群中增加服務(wù)器時,都感覺心疼;

壓測30秒

壓測前的內(nèi)存占用

如圖,內(nèi)存占用304M。

壓測時的內(nèi)存占用

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

概覽

總結(jié)

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

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

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

介紹

背靠Eclipse的Eclipse Vert.x是一個用于在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為底層框架實現(xiàn)的,在"基準(zhǔn)測試網(wǎng)站TechEmpower"中,Vert.x的表現(xiàn)也十分亮眼。

壓測30秒

壓測前的內(nèi)存占用

如圖,內(nèi)存占用65M。

壓測時的內(nèi)存占用

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

概覽

總結(jié)

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

Vert.x消耗的資源很低,感覺一個1核2G的服務(wù)器已經(jīng)能夠部署許多個Vert.x服務(wù)。除去編碼方面的問題,真心符合小項目和小模塊。git市場上已經(jīng)出現(xiàn)了基于Vert.x實現(xiàn)的開源網(wǎng)關(guān)- 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系其他微服務(wù)框架

SparkJava

  •  jar比較小,大約10M
  • 占內(nèi)存小,大約30~60MB;
  • 性能還可以,與Spring Boot相仿;

Micronaut

  • Grails團(tuán)隊新寵;
  • 可以用 Java、Groovy 和 Kotlin 編寫的基于微服務(wù)的應(yīng)用程序;
  • 相比Spring Boot已經(jīng)比較全面;
  • 性能較優(yōu),編碼方式與Spring Boot比較類似;
  • 啟動時間和內(nèi)存消耗方面比其他框架更高效;
  • 多語言;
  • 依賴注入;
  • 內(nèi)置多種云本地功能;
  • 很新,剛發(fā)布1.0.0

Javalin

  • 上手極為容易;
  • 靈活,可以兼容同步和異步兩種編程思路;
  • JAR小,4~5M;
  • 多語言;
  • 有KOA的影子;
  • 只有大約2000行源代碼,源代碼足夠簡單,可以理解和修復(fù);
  • 符合當(dāng)今趨勢;
  • 多語言;
  • 嵌入式服務(wù)器Jetty;

Quarkus

  • 啟動快;
  • JAR小,大約10M;
  • 文檔很少。
責(zé)任編輯:龐桂玉 來源: Java編程
相關(guān)推薦

2023-07-12 08:16:54

JVM工具包Vert.x

2025-01-02 11:20:47

2020-07-15 16:50:57

Spring BootRedisJava

2020-06-29 11:35:02

Spring BootJava腳手架

2023-10-12 10:32:51

2021-03-04 10:11:50

MongoDBSpring BootSpring Boot

2022-03-18 09:00:00

開發(fā)Web服務(wù)應(yīng)用程序

2025-04-28 03:00:00

2023-09-14 15:15:36

2023-09-07 10:31:27

2019-05-17 15:26:06

Spring BootSpring BootJava

2023-11-06 18:32:04

交叉驗證機(jī)器學(xué)習(xí)

2020-08-19 17:56:46

緩存Redis集中式

2022-07-11 08:37:41

nacosSLB長連接

2025-04-09 02:02:00

Spring框架開發(fā)

2021-12-31 08:48:23

Logback日志管理

2024-05-07 08:31:09

SpringFlowable業(yè)務(wù)流程

2024-11-05 09:25:45

2024-07-09 08:25:48

2024-01-08 08:44:06

點贊
收藏

51CTO技術(shù)棧公眾號