Spring Native釋出:使用GraalVM將Spring應用編譯為本機映象
自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。
相關文章
- 將Spring Boot應用變成GraalVM本機映象快速執行 - codecentricSpring BootLVM
- 通往Spring Boot本機應用的道路:Spring GraalVM Native 0.7.0可以使用了 - spring.ioSpring BootLVM
- Windows下使用Graalvm將Javafx應用編譯成exeWindowsLVMJava編譯
- 使用CoreRT將.NET Core釋出為Native應用程式
- 結合GraalVM與Spring Native的Spring Boot原始碼教程 | foojayLVMSpring Boot原始碼
- Solon 1.5.67 釋出,增加 GraalVm Native 支援LVM
- 使用Spring GraalVM Native外掛提高SpringBoot啟動時間94%LVMSpring Boot
- Spring Boot應用,使用native編譯與不使用的啟動時間和記憶體佔用對比Spring Boot編譯記憶體
- GraalVM原生本機映象提示和技巧 -James WardLVM
- 在GraalVM中部署執行Spring Boot應用 - Indrek OtsLVMSpring Boot
- Solon v2.2.1 釋出。向 Graalvm Native 友好靠近LVM
- Windows下使用Graalvm將Springboot應用編譯成exe大大提高啟動和執行效率WindowsLVMSpring Boot編譯
- Spring Boot 將jar包釋出方式改為War包Spring BootJAR
- Micronaut使用提前編譯支援Spring Boot編譯Spring Boot
- 更快更省:帶有新AOT引擎的Spring Native 0.11 釋出 - spring.ioSpring
- spring-boot-plus1.1.0.釋出-整合Spring Boot Admin管理和監控應用Spring Boot
- Spring原始碼編譯Spring原始碼編譯
- 本週桑坦德銀行將釋出瑞波支付應用
- 適用於JDK14的Spring Boot 2.3版本釋出JDKSpring Boot
- Spring Boot本地原生映象Native-image原始碼 - frankelSpring Boot原始碼
- React Native釋出APP之打包iOS應用React NativeAPPiOS
- Spring事件釋出與監聽機制Spring事件
- Spring Cloud應用(三)---feign使用SpringCloud
- Spring Cloud應用(一)---eureka使用SpringCloud
- Spring Cloud應用(二)---ribbon使用SpringCloud
- Spring Boot 2.1.0釋出Spring Boot
- 如何將Spring Boot應用中日誌輸出格式改為JSON?-DEVSpring BootJSONdev
- 重要版本Spring Boot 2.3.0釋出 - spring.ioSpring Boot
- spring boot 使用redis進行釋出訂閱Spring BootRedis
- 使用Spring Data Redis 釋出訂閱訊息SpringRedis
- 使用Spring AI + Redis 建立RAG應用SpringAIRedis
- 使用Spring Boot和GraalVM在Knative上構建微服務 - piotrSpring BootLVM微服務
- Spring Boot 2.6.1 重磅釋出!Spring Boot
- Coherence Spring 3.1.0的釋出Spring
- Spring Boot 3.0正式釋出Spring Boot
- Spring Framework 6.0 正式釋出SpringFramework
- GraalVM中的多層編譯優點LVM編譯
- Spring MVC應用SpringMVC