打包 Spring Boot 应用程序
Spring Boot 支持多种技术来优化应用程序的部署,包括 GraalVM native images、Class Data Sharing 和 Checkpoint and Restore。
Spring Boot 应用程序可以使用 Container Images 中描述的技术打包到 Docker 容器中。
章节总结
📄️ 高效部署
你可以使用可执行 jar 来运行你的应用程序,但从嵌套的 jar 中加载类会带来较小的启动开销。根据 jar 文件的大小,从解压后的结构运行应用程序会更快,并且在生产环境中推荐这样做。某些 PaaS 实现也可能选择在运行前先解压归档文件。例如,Cloud Foundry 就是这样操作的。
📄️ 类数据共享
Class Data Sharing(CDS)是一项 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 个项目