通往Spring Boot本機應用的道路:Spring GraalVM Native 0.7.0可以使用了 - spring.io

banq發表於2020-06-11

本機映象(Native image)提供了一種構建和執行具有不同於常規JVM部署特性的Spring Boot應用程式的方法:
  • 輸出是一個本機可執行檔案,其中包含您的應用程式以及JDK的子集以及執行它所需的依賴項。
  • 實際上,可執行檔案可能會以高度最佳化的容器映象(FROM scratch支援Docker映象)的形式提供,該容器映像非常適合K8。
  • 啟動時間幾乎是即時的,並且可以立即獲得峰值效能,從而支援從零縮放(無伺服器)應用程式,包括常規的Spring Boot Web應用程式。
  • 減少了記憶體消耗,這非常適合拆分為多個微服務的系統。


如您所料,本地映像不是免費的午餐,並且這些有趣的功能還具有一些缺點:
  • GraalVM本機是一個年輕的平臺,遠沒有JVM成熟。
  • JVM庫尚未很好地支援這種新的Java風格並對其進行了測試。
  • 它需要初始化,資源,反射和代理顯式配置。
  • 生成時間很長,並且生成記憶體消耗很高。
  • 較低的吞吐量和較高的延遲。

Spring團隊目前正在與GraalVM團隊積極合作,以確保在編譯為本地映象時,Spring包括透過Spring Boot整合的JVM生態系統在全球範圍內都能正常執行。這項工作包括GraalVM本機中的修復和新功能對Spring本身的更改,還包括為改進此GraalVM本機平臺的可測試性和可維護性所做的其他工作。
還值得注意的是,自Mark Reinhold最近宣佈Project Leyden以來,本機映象的範圍現在已超過GraalVM ,該專案旨在在Java平臺級別上標準化本機映象。

Spring GraalVM Native 0.7.0
我很高興宣佈Spring GraalVM Native 0.7.0可用。spring-graalvm-native這是一個實驗性專案,我們目前在其中孵化對Spring Boot應用程式的本機映象支援,這個新的里程碑引入了以下改進:



您可以閱讀詳細的變更日誌和 文件。還有其他改進值得深入探討。

 

相關文章