比 SpringBoot更快,更輕,更?。?/h1>
為什么很多 SpringBoot 開發(fā)者放棄了 Tomcat,選擇了 Undertow?
上一篇:網(wǎng)傳互聯(lián)網(wǎng)公司加班表,排名第一的沒有懸念! Spring Boot總體來說,搭建還是比較容易的,特別是Spring Cloud全家桶,簡稱親民微服務,但在發(fā)展趨勢中,容器化技術已經(jīng)成熟,面對巨耗內存的Spring Boot,小公司表示用不起。如今,很多剛誕生的JAVA微服務框架大多主打“輕量級”,主要還是因為Spring Boot太重。
JAVA系微服務框架No1-Spring Cloud
介紹
有Spring大靠山在,更新、穩(wěn)定性、成熟度的問題根本不需要考慮。在JAVA系混的技術人員大約都聽說過Spring的大名吧,所以不缺程序員……,而且這入手的難度十分低,完全可以省去一個架構師。 但是,你必然在服務器上付出: 1、至少一臺“服務發(fā)現(xiàn) ”的服務器;
2、可能有一個統(tǒng)一的網(wǎng)關Gateway;
3、可能需要一個用于“分布式配置管理”的配置中心;
4、可能進行“服務追蹤”,知道我的請求從哪里來,到哪里去;
5、可能需要“集群監(jiān)控”;
6、項目上線后發(fā)現(xiàn),我們需要好多服務器,每次在集群中增加服務器時,都感覺心疼;
壓測30秒
壓測前的內存占用 
如圖,內存占用304M。 壓測時的內存占用 
如圖,內存占用1520M(1.5G),CPU上升到321% 概覽

總結
一個Spring Boot的簡單應用,最少1G內存,一個業(yè)務點比較少的微服務編譯后的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為底層框架實現(xiàn)的,在"基準測試網(wǎng)站TechEmpower"中,Vert.x的表現(xiàn)也十分亮眼。 壓測30秒
壓測前的內存占用 
如圖,內存占用65M。 壓測時的內存占用 
如圖,內存占139M,CPU占2.1%,給人的感覺似乎并沒有進行壓測。 概覽

總結
Vert.x單個服務打包完成后大約7M左右的JAR,不依賴Tomcat、Jetty之類的容器,直接在JVM上跑。 Vert.x消耗的資源很低,感覺一個1核2G的服務器已經(jīng)能夠部署許多個Vert.x服務。除去編碼方面的問題,真心符合小項目和小模塊。git市場上已經(jīng)出現(xiàn)了基于Vert.x實現(xiàn)的開源網(wǎng)關- 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
1、jar比較小,大約10M
2、占內存小,大約30~60MB;
3、性能還可以,與Spring Boot相仿;
Micronaut 1、Grails團隊新寵;
2、可以用 Java、Groovy 和 Kotlin 編寫的基于微服務的應用程序;
3、相比Spring Boot已經(jīng)比較全面;
4、性能較優(yōu),編碼方式與Spring Boot比較類似;
5、啟動時間和內存消耗方面比其他框架更高效;
6、多語言;
7、依賴注入;
8、內置多種云本地功能;
9、很新,剛發(fā)布1.0.0
Javalin 1、上手極為容易;
2、靈活,可以兼容同步和異步兩種編程思路;
3、JAR小,4~5M;
4、多語言;
5、有KOA的影子;
6、只有大約2000行源代碼,源代碼足夠簡單,可以理解和修復;
7、符合當今趨勢;
8、多語言;
9、嵌入式服務器Jetty;
Quarkus 1、啟動快;
2、JAR小,大約10M;
3、文檔很少。
來源:https://blog.csdn.net/qq_17231297/article/details/123059447
· END ·
熱門推薦:
PS:如果覺得我的分享不錯,歡迎大家隨手點贊、轉發(fā)、在看
瀏覽
34
Spring Boot總體來說,搭建還是比較容易的,特別是Spring Cloud全家桶,簡稱親民微服務,但在發(fā)展趨勢中,容器化技術已經(jīng)成熟,面對巨耗內存的Spring Boot,小公司表示用不起。如今,很多剛誕生的JAVA微服務框架大多主打“輕量級”,主要還是因為Spring Boot太重。
JAVA系微服務框架No1-Spring Cloud 介紹
有Spring大靠山在,更新、穩(wěn)定性、成熟度的問題根本不需要考慮。在JAVA系混的技術人員大約都聽說過Spring的大名吧,所以不缺程序員……,而且這入手的難度十分低,完全可以省去一個架構師。 但是,你必然在服務器上付出: 1、至少一臺“服務發(fā)現(xiàn) ”的服務器;
2、可能有一個統(tǒng)一的網(wǎng)關Gateway;
3、可能需要一個用于“分布式配置管理”的配置中心;
4、可能進行“服務追蹤”,知道我的請求從哪里來,到哪里去;
5、可能需要“集群監(jiān)控”;
6、項目上線后發(fā)現(xiàn),我們需要好多服務器,每次在集群中增加服務器時,都感覺心疼;
壓測30秒
壓測前的內存占用 如圖,內存占用304M。 壓測時的內存占用 如圖,內存占用1520M(1.5G),CPU上升到321% 概覽
總結
一個Spring Boot的簡單應用,最少1G內存,一個業(yè)務點比較少的微服務編譯后的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為底層框架實現(xiàn)的,在"基準測試網(wǎng)站TechEmpower"中,Vert.x的表現(xiàn)也十分亮眼。 壓測30秒
壓測前的內存占用 如圖,內存占用65M。 壓測時的內存占用 如圖,內存占139M,CPU占2.1%,給人的感覺似乎并沒有進行壓測。 概覽
總結
Vert.x單個服務打包完成后大約7M左右的JAR,不依賴Tomcat、Jetty之類的容器,直接在JVM上跑。 Vert.x消耗的資源很低,感覺一個1核2G的服務器已經(jīng)能夠部署許多個Vert.x服務。除去編碼方面的問題,真心符合小項目和小模塊。git市場上已經(jīng)出現(xiàn)了基于Vert.x實現(xiàn)的開源網(wǎng)關- 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
1、jar比較小,大約10M
2、占內存小,大約30~60MB;
3、性能還可以,與Spring Boot相仿;
Micronaut 1、Grails團隊新寵;
2、可以用 Java、Groovy 和 Kotlin 編寫的基于微服務的應用程序;
3、相比Spring Boot已經(jīng)比較全面;
4、性能較優(yōu),編碼方式與Spring Boot比較類似;
5、啟動時間和內存消耗方面比其他框架更高效;
6、多語言;
7、依賴注入;
8、內置多種云本地功能;
9、很新,剛發(fā)布1.0.0
Javalin 1、上手極為容易;
2、靈活,可以兼容同步和異步兩種編程思路;
3、JAR小,4~5M;
4、多語言;
5、有KOA的影子;
6、只有大約2000行源代碼,源代碼足夠簡單,可以理解和修復;
7、符合當今趨勢;
8、多語言;
9、嵌入式服務器Jetty;
Quarkus 1、啟動快;
2、JAR小,大約10M;
3、文檔很少。
來源:https://blog.csdn.net/qq_17231297/article/details/123059447
· END ·
熱門推薦:
PS:如果覺得我的分享不錯,歡迎大家隨手點贊、轉發(fā)、在看
