Spring Native釋出:使用GraalVM將Spring應用編譯為本機映象

發表於2021-03-16

自Spring成立以來,除了Spring支援的常規Java虛擬機器之外,現在提供新的方式:使用GraalVM將Spring應用編譯為本機映象,提供了一種部署Spring應用程式的新方法。支援Java和Kotlin。

這樣,Spring應用可以部署為獨立的可執行檔案(無需安裝JVM),並提供有趣的特性,包括幾乎即時啟動(通常<100ms),即時峰值效能和較低的記憶體消耗,但所需的構建時間和執行時優化次數少於JVM。

使用簡單mvn spring-boot:build-image或gradle bootBuildImage命令,您可以生成一個優化的容器映像,該映像將包含一個最小的OS層和一個小的本機可執行檔案,該映像僅隨附JDK,Spring以及您在應用程式中使用的依賴項中的必需位。

 

網友經驗:

隨著Spring Native beta於上週五發布,我更新了我的Azure Functions +響應式Spring +本機示例應用程式:https://github.com/jdubois/azure-native-spring-function

遷移到Spring Native beta提供了許多優點:

  • 我的構建更簡單,“本地構建”本身不到5分鐘(壓縮需要更多時間)。說到壓縮,我使用的是https:// upx.github.io,所以我的最終Image大小仍然很小,為15.1Mb。這比我以前的本機版本(16.8Mb)還小!極好的。
  • 我可以在Mac上非常輕鬆地在本地執行它,因此開發人員的經驗現在還不錯
  • 它支援比以前更多的Spring功能(Jackson最明顯的)

http:// shell.azure.com(這是非常小的機器,甚至可能比Azure Functions的機器還小的機器)上執行它,啟動時間是56毫秒!

總體而言,這是一種絕佳的體驗:

  • -易於設定和使用
  • -效能出色
  • -CI / CD速度較慢,但​​是沒關係

對於使用Spring的人來說,這絕對是一個改變遊戲規則的人!

值得一提的是,它僅支援最新的Spring Boot版本(2.4.3)以及Java 8和11。

 

相關文章