打包 Spring Boot 应用程序
Spring Boot 支持多种技术来优化应用程序的部署,包括 GraalVM 原生镜像、类数据共享 和 检查点与恢复。
Spring Boot 应用程序可以使用 容器镜像 中描述的技术打包到 Docker 容器中。
章节摘要
📄️ 高效部署
你可以使用可执行的 jar 文件来运行你的应用程序,但从嵌套的 jar 文件中加载类会有一定的启动成本。根据 jar 文件的大小,从解压后的结构中运行应用程序会更快,并且在生产环境中推荐使用这种方式。某些 PaaS 实现可能也会选择在运行之前提取归档文件。例如,Cloud Foundry 就是以这种方式操作的。
📄️ 类数据共享
类数据共享(Class Data Sharing, CDS)是 JVM 的一项特性,可以帮助减少 Java 应用程序的启动时间和内存占用。
📄️ 使用 JVM 进行提前处理
使用 AOT 生成的初始化代码运行应用程序有助于缩短启动时间。首先,你需要确保构建的 jar 文件包含 AOT 生成的代码。
🗃️ GraalVM 原生镜像
2 个项目
📄️ 使用 JVM 进行检查点与恢复
Coordinated Restore at Checkpoint (CRaC) 是一个 OpenJDK 项目,它定义了一个新的 Java API,允许你在 HotSpot JVM 上对应用程序进行检查点和恢复。它基于 CRIU,一个在 Linux 上实现检查点/恢复功能的项目。
🗃️ 容器镜像
3 个项目