GraalVM
範例專案: graalvm
Ktor Server 應用程式可以利用 GraalVM 以為不同平台產生原生映像,當然,也能利用 GraalVM 提供的更快的啟動時間及其他優點。
目前,想利用 GraalVM 的 Ktor Server 應用程式必須使用 CIO 作為其應用程式引擎。
為 GraalVM 做準備
除了安裝 GraalVM 並將其安裝目錄加入系統路徑外,您需要準備您的應用程式,使所有依賴項都被打包,亦即您需要建立一個 fat jar。
反射組態
GraalVM 對於使用反射的應用程式有一些要求,Ktor 即是如此。它要求您提供一個JSON 檔案,其中包含特定的型別資訊。此組態檔隨後將作為引數傳遞給 native-image
工具。
執行 native-image
工具
一旦 fat jar 準備好,唯一需要的步驟就是使用 native-image
命令列工具建立原生映像。這也可以透過 Gradle 外掛程式來完成。您可以在此處查看 build.gradle.kts
檔案的範例。然而,請注意,某些選項可能因所使用的依賴項、專案的套件名稱等而異。
執行產生的二進位檔
如果 shell 腳本執行時沒有任何錯誤,您應該會獲得一個原生應用程式,在範例中它被稱為 graal-server
。執行它將啟動 Ktor Server,並在 https://0.0.0.0:8080
上回應。
//: # (
Code example: deployment-ktor-plugin
)