打包 Spring Boot 应用程序
Spring Boot 支持多种技术来优化应用程序的部署,包括 GraalVM native images、AOT cache 和 Checkpoint and Restore。
Spring Boot 应用程序可以使用 Container Images 中描述的技术打包到 Docker 容器中。
章节总结
高效部署
你可以使用可执行 jar 运行你的应用程序,但从嵌套的 jar 中加载类会带来较小的启动开销。根据 jar 的大小,从解压后的结构运行应用程序速度更快,并且在生产环境中推荐这样做。某些 PaaS 实现也可能选择在运行前先解压归档文件。例如,Cloud Foundry 就是这样操作的。
AOT Cache
AOT 缓存是 JVM 的一项功能,可以帮助减少 Java 应用程序的启动时间和内存占用。
使用 JVM 进行提前编译(Ahead-of-Time)处理
使用 AOT 生成的初始化代码来运行你的应用程序,对启动时间是有益的。首先,你需要确保你构建的 jar 包含了 AOT 生成的代码。
GraalVM Native Images
2 个项目
使用 JVM 进行检查点和恢复
Coordinated Restore at Checkpoint (CRaC) 是一个 OpenJDK 项目,它定义了一种新的 Java API,允许你在 HotSpot JVM 上对应用程序进行检查点(checkpoint)和恢复(restore)。该项目基于 CRIU,而 CRIU 是一个在 Linux 上实现检查点/恢复功能的项目。
Container Images
3 个项目